Part Number Hot Search : 
B2567 SSA05320 BDY25A MPSA94 04102 SSE16020 3N101KF4 58004
Product Description
Full Text Search
 

To Download ZR36506 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  ZR36506 usbvision the one chip solution for multi - mode digital cameras datasheet february 2001 zoran proprietary and confidential rev. 1.0
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential zoran reserves the right to make changes without further notice to any product herein. zoran makes no w arranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does zoran assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability , including without limitation consequential or incidental damages. zoran products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the zoran product could create a situation where personal injury or death may occur.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential table of contents i table of contents 1 introd uction ................................ ................................ ............ 1 - 1 ZR36506 - multi - mode digital camera chip ................................ ..................... 1 - 1 support for oem customizations ................................ ................................ ....... 1 - 1 features and benefits ................................ ................................ .......................... 1 - 2 on - line (usb, serial, wireless) mode ................................ .................... 1 - 2 product description ................................ ................................ ............................. 1 - 3 2 ZR36506 pinout ................................ ................................ ....... 2 - 1 pin descriptions ................................ ................................ ................................ ... 2 - 1 flash memory ................................ ................................ ................................ ...... 2 - 5 power management ................................ ................................ ............................. 2 - 5 lcd control, functional button, general purpose pins ................................ .... 2 - 6 s po pins ................................ ................................ ................................ .............. 2 - 6 absolute maximum ratings (voltages referenced to gnd) ............................. 2 - 7 electrical characteristics (v cc =3.3 v, t a = 0 to 70 o c) ................................ .... 2 - 7 usb_vp/vm pins electrical characteristics (v cc =3.3 v, t a = 0 to 70 o c) ..... 2 - 8 video parameter specifications ................................ ................................ .......... 2 - 8 usb interface parameter specifications ................................ ............................. 2 - 9 audio parameter specifications ................................ ................................ .......... 2 - 9 3 general architecture ................................ ............................... 3 - 1 4 register bank (control and status) ................................ ....... 4 - 1 write transaction protocol ................................ ................................ .................. 4 - 1 read transaction protocol ................................ ................................ .................. 4 - 2 eeprom read/write registers ................................ ................................ .......... 4 - 6 sdram and memory buffer setup reg isters ................................ .................... 4 - 6 video setup and control registers ................................ ................................ ..... 4 - 8 audio & bulk - data port read/write registers ................................ ................ 4 - 10 usb watch - dog register ................................ ................................ ................. 4 - 11 compression ratio management registers ................................ ....................... 4 - 11
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential table of contents ii 5 internal microcontr oller host request interface ................... 5 - 1 6 v8 - risc block ................................ ................................ ....... 6 - 1 general ................................ ................................ ................................ ................ 6 - 1 memory resources ................................ ................................ ............................. 6 - 1 7 power management ................................ ................................ . 7 - 1 8 video input interface ................................ .............................. 8 - 1 video interface timing parameters ................................ ................................ .... 8 - 3 input video parameters ................................ ................................ ....................... 8 - 3 frame - rate control ................................ ................................ ............................. 8 - 6 video scaling ................................ ................................ ................................ ...... 8 - 7 video filters ................................ ................................ ................................ ........ 8 - 8 video output format ................................ ................................ .......................... 8 - 9 compressed data format ................................ ................................ .................... 8 - 9 yuv 4:2:2 interleaved format ................................ ................................ ......... 8 - 10 yuv 4:2:0 planar format ................................ ................................ ................. 8 - 10 video buffer control registers ................................ ................................ .......... 8 - 11 special video control bits ................................ ................................ ................ 8 - 12 usb pipe video data format ................................ ................................ ........... 8 - 12 data packets ................................ ................................ ............................ 8 - 12 video frame synchronization ................................ ................................ 8 - 13 video frame header ................................ ................................ ............... 8 - 13 9 sdram control and interface ................................ ................. 9 - 1 mau (memory access unit) ................................ ................................ .............. 9 - 1 sdram and memory buffer setup registers ................................ ................... 9 - 3 video setup and control registers ................................ ................................ ..... 9 - 4 clk48 o utput ................................ ................................ ................................ ..... 9 - 5
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential table of contents iii 10 camera control serial port ................................ ................... 10 - 1 soft mode: (mode=0) ................................ ................................ ..................... 10 - 3 sio mode: (mode=1) ................................ ................................ ...................... 10 - 3 iic lrack mode: (mode=2) ................................ ................................ ........ 10 - 4 iic lrnack mode: (mode=3) ................................ ................................ ..... 10 - 5 cam1 mode: (mode=4) ................................ ................................ ................. 10 - 6 cam2 mode: (mode=5) ................................ ................................ ................. 10 - 7 11 external eeprom ................................ ................................ ... 11 - 1 eeprom data structure ................................ ................................ ................... 11 - 1 v8 downloadable code ................................ ................................ .................... 11 - 2 supported unicode language table: ................................ ............................ 11 - 3 table of descriptor pointers ................................ ................................ .............. 11 - 5 table of descriptors ................................ ................................ .......................... 11 - 7 ee prom access registers ................................ ................................ ............... 11 - 8 eeprom control signals ................................ ................................ ................. 11 - 9 12 ZR36506 usb and status registers ................................ ...... 12 - 1 13 programmable i/o pins and 48 mhz output pin ................. 13 - 1 14 audio channel ................................ ................................ ....... 14 - 1 codec interface ................................ ................................ ................................ .. 14 - 2 15 bulk channel ................................ ................................ .......... 15 - 1 16 serial pipe out interface ................................ ...................... 16 - 1 descriptio n ................................ ................................ ................................ ........ 16 - 1 timing table ................................ ................................ ................................ ..... 16 - 3 17 software package ................................ ................................ .. 17 - 1 18 mechanical specifications ................................ ..................... 18 - 1 19 contact information ................................ .............................. 19 - 1

zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential introduction 1 - 1 1 i ntroduction ZR36506 - multi - mode digital camera chip zoran?s usbvision ZR36506 is a revolutionary, multi - mod e digital camera chip offering integrated live digital video and audio capture functionality. powered by an integrated microprocessor, the chip?s high level of versatility facilitates the design and implementation of multi - function digital cameras. the zr3 6506 supports on - line operation (over usb, wireless or any other, non - usb connections), for such applications as live audio/video streaming and surveillance, as well as standalone applications, such as digital still cameras with audio recording capabilitie s. for applications requiring alternative digital video connection schemes (wireless connections, surveillance cameras or devices lacking usb support), the ZR36506 may be integrated into camera designs built around a serial interface for transferring image s, audio clips and compressed video. support for oem customizations zoran supplies a full reference design kit, software a/v streaming wdm driver which is microsoft directshow compatible, digital camera twain drivers and software api support for the zr365 06 flash memory ? transfer and management (preview, deletion, photo album creation). the api reference kit contains header and library files, as well as sample programs demonstrating their use. device drivers may easily be renamed (oem usb vendor and produ ct ids may be programmed via a .inf file) to reflect different oem branding schemes.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential introduction 1 - 2 features and benefits on - line (usb, serial, wireless) mode applications: video conferencing, live video capture and editing, video gaming and surveillance. full - motion, f ull - color video up to 30 frames per second at cif (352 x 288) resolution; up to 15 frames per second at vga (640 x 480) resolution. live video may be streamed over serial connections (either wireless or wired) at up to 1 mbyte/sec. software controlled digi tal pan and zoom. support for raw and compressed video at variable compression ratios (over usb or non - usb connections). simultaneous video and stereo audio capture full compatibility with microsoft directshow wdm streaming and popular video conferencing a nd video editing software applications. vga (640 x 480) resolution twain compatible still image capture twain compatibility for live still image capture and for control over digital camera flash memory: preview, transfer or erase pictures. easy plug - and - pl ay operation video camera configuration is stored in external eeprom. powered by usb port, with adjustable usb bandwidth utilization (0.5 ? 7.5 mb/sec). off - line (standalone) mode applications: digital still image and audio capture. easy digital image and audio clip capture anywhere pictures and audio clips are stored on the camera?s flash memory and may be transferred to a computer or pda via usb, wireless or other connections. an audio clip may be recorded for each picture via an integrated microphone. l arge storage capacity up to 4 megabytes of flash memory accommodate up to 120 pictures at 320 x 240 qvga, or up to 30 images at high quality, vga resolution. built - in hardware interfaces and support for still digital camera applications built - in support fo r camera capture and function buttons. support for two 7 - segment lcd displays to indicate camera mode or status, and the number of stored images. low power consumption and an auto power off feature extend battery life. easy firmware upgradeabilty microproc essor code updates and expansions may easily be performed via the ZR36506?s integrated eeprom.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential introduction 1 - 3 product description digital camera 16mb sdram mt48lc1ma6atgs audio codec (optional) oki msm7508b oki msm7716 fuj. mb86435 nt1006 chip aci audio codec interface usbi universal serial bus inte rface serial interface spo ul_gl v8 micro controller rbcs register bank control & status serial protocol controller prog. i/o dvs digital video scaler dvi digital video interface dvc digital video compressor flash int erface pmu power management unit pll x t l camera board logic lcd flash 16m - 32m at49bv1614t am29lv160d usb 1.1 host serial eeprom 24fc16 - sn/p at24c16n - 2.7 serial data out 1 mbytes/sec serial data in (0 - 2mbps) mau memory access unit ZR36506 internal block diagram the ZR36506 utilizes a single usb port to enable the host computer to access 4 different data channels simultaneously. these 4 channels are the digital video input (7.5 mbit/sec), digital audio input, serial bulk data input, and i/o control (internal registers, programmable i/o pins and selectable data/clock serial protocols). due to the sophisticated archi tecture and protocol of the usb interface, the software application is not required to handle time - sharing management of several tasks using a single serial bus. this is handled by lower - level drivers, so that the application program can access each functi on of the ZR36506 independently. ZR36506 chip
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential introduction 1 - 4 in normal operation, the ZR36506 performs following tasks: compressed video channel the ZR36506 connects to a y/u/v digital video source, scales the image horizontally and vertically on the fly, compresses the data down to 0.5 - 7.5 mbit/sec, and sends it to the host computer via the usb port. the ZR36506 scaler supports zoom - in - like effects by applying combinations of built - in zooming and cropping functions. this unique compression method is proprietary to zoran and allows f ast and easy software - only decompression. the decompression software driver supplied with the ZR36506 will accept compressed data and convert it back to standard video formats in less time than it would take to read raw video from any external port. still images may be captured and sent via usb in the best quality and resolution that the camera can provide. sound system some camera applications require that a microphone sound system be implemented inside the camera. additionally, composite - video to usb adap ter applications require audio recording support. the ZR36506 provides a solution for these applications by multiplexing serial digital audio input with video data that is sent via the usb port. the microphone can be located inside the camera, up to 5 mete rs away from the host computer. the ZR36506 does not include the audio a/d, and is designed to use an external low - cost telephony audio codec. camera control camera (or any video source) control and status monitoring can be carried out via a built - in seria l interface or direct i/o pins. the serial interface supports some common serial protocols. control and monitoring software for other remote devices may use these ports as well. in a video conference application, this feature allows the local or remote use r to set the focus, zoom and other parameters of the camera, and even switch the camera?s power off. the ZR36506 also supports usage of an external capture button that is mounted on the camera board and is used for capturing video frames to the host comput er hard disk (this is application dependent - the ZR36506 only delivers the capture command signaling from button to host computer via usb).
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential ZR36506 pinout 2 - 1 2 ZR36506 p inout pin descriptions pin number signal i/o description 18, 60, 99, 139 vdd 2.5 v supply (for core logic). 8, 51, 87, 96, 114, 141 vcc 3.3 v supply (for i/o pins). 36 avdd 2.5 v analog supply for internal pll. 19, 59, 100, 140 vss digital ground connections (for core). 9, 52, 91, 107, 142 vsse digital ground connections (for i/o pins). 37 avs s analog ground for internal pll. 41 ? 48 y0 - y7 i video luminance input from camera. the vclk input is used to sample the bus. each input pin features an internal pull - down resistor. 49 ? 50, 53 ? 58 u0 - u7 i video chroma u or u/v - components input from c amera. the vclk input is used to sample this bus. each input pin features an internal pull - down
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential ZR36506 pinout 2 - 2 pin number signal i/o description resistor. 40 test1 (mst) i this pin must be connected to gnd. 61 vclk i video pixel - clock input from camera 64 hvalid i video clock enable input qualifier. t his input pin should be connected to gnd if not used. 62 vsync i video vertical - sync input signal from camera. this input pin should be connected to gnd if not used. 65 hsync i video horizontal - sync input signal from camera. this input pin should be conn ected to gnd if not used. 63 fid i video field - id input signal from camera. this input pin should be connected to gnd if not used. 12 ? 13 io - 1 - io - 2 i/o general programmable i/o pins. each of these 2 pins has an open drain, and is supposed to be connec ted to an external pull - up resistor. the host uses these pins as programmable output ports by writing '0' or '1'. by writing '1' and read back, the host can use these pins? input ports - as this allows any external source to force the pull - up resistor. the se outputs are temporarily set to high - z while in suspend mode. 38 xin i crystal oscillator input pin (12 mhz). crystal frequency must provide at least 100 ppm accuracy. 39 xout o crystal oscillator output pin (12 mhz). 1 blk_full o "bulk - fifo full" ind ication output signal. this output signal is normally '0' and is set to '1' when the ZR36506 bulk - fifo is full. this output is temporarily set to '0' while in the suspend or power - down position. 2 blk_en i bulk data enable input. when set to '1', bulk inp ut data from the dat_in pin is sampled in by falling edge of bclk into the ZR36506 bulk - fifo. 3 dat_in i data input pin for both audio codec tx channel and bulk data in. this input pin requires an external pull - up resistor. 4 fs_l o audio codec frame - sy nc pulse for left channel. this signal triggers the beginning of a new audio sample (left chan). this output is temporarily set to '0' while in the suspend or power - down position. 5 fs_r o audio codec frame - sync pulse for right channel. this signal trigge rs the beginning of a new audio
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential ZR36506 pinout 2 - 3 pin number signal i/o description sample (right chan). this output is temporarily set to '0' while in the suspend or power - down position. 6 bclk o main clock for both audio codec and bulk data in. this output is temporarily set to '0' while in the suspend o r power - down position. 138 clk48 o 48 mhz clock output for sdram interface. this output is set to '0' while in suspend or power - down modes. 159, 157, 155, 153, 151, 149, 147, 145, 144, 146, 148, 150, 152, 154, 156, 158 dd0 - dd15 i/o sdram data bus input/o utput pins. these pins feature internal pull - down resistors, and are set to high - z while in suspend or power - down modes. 125 casn o sdram column address select active low. this output is set to high - z while in suspend or power - down modes. 143 wrn o sdram write enable active low. this output is set to high - z while in suspend or power - down modes. 160 csn o sdram chip select active low. this output is set to high - z while in suspend or power - down modes. 123 rasn o sdram row address select active low. this o utput is set to high - z while in suspend or power - down mode. 133, 131, 129, 127, 126, 128, 130, 132, 134, 136, 135, 137 da0 - da11 o sdram row/column address - bus. these outputs are set to '0' while in suspend or power - down modes. 124 cke o sdram clock enabl e. active high, enable clock for sdram. 24 scl/pwr0 i/o serial eeprom clock signal, and lsbit of device power code. if an eeprom is detected, this pin is used as the eeprom clock output signal; otherwise its voltage (vdd or gnd) is used as the lsbit of th e device power code for the usb device descriptor. if eeprom is detected, this pin is temporarily set to '1' while in the suspend position. 22 eeprom i eeprom detect pin. if eeprom is used, a 10 k w pull - up resistor to vdd should be connected to this pin. otherwise, it should be tied to gnd. 23 sda i/o serial eeprom data signal. high - z in suspend and power - down modes.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential ZR36506 pinout 2 - 4 pin number signal i/o description 14 pwr1 i msbit of device power code. the voltage level in this input (vdd or gnd) is used by the ZR36506 as the msbit of the device power code for the usb device descriptor. if an external eeprom exists, this input is ignored. 7 resin i power - on reset input. this input is of schmitt - trigger type, and is active low. it is recommended to use a power - on rc network for proper reset. 15 sens o serial control enable signaling. this pin has an open drain output. it should be connected to an external 3.3 - 10 k w pull - up resistor. this output is set to high - z while in suspend or power - down modes. 16 iicdt i/o camera - control data i/o (supports some c ommonly used serial protocols). this pin has an open drain output. it should be connected to an external 3.3 - 10 k w pull - up resistor. this output is temporarily set to high - z while in the suspend or power - down position. 17 iicck o camera - control clock outp ut (supports some commonly used serial protocols). this pin has an open drain output. it should be connected to an external 3.3 - 10 k w pull - up resistor. this output is temporarily set to high - z while in the suspend or power - down position. 10 pwr_dwn o came ra power - down control. this is an open drain output, which is used to switch power on or off to the camera and/or external circuit (using an external switching p - mosfet transistor). while in reset, the output is set to high - z (off). it is set to high - z in suspend mode, and remains high - z when resuming from suspend. 11 suspnd o usb suspend mode control. this is an open drain output. a power - on reset or a usb - reset turn the output to active low it is set to high - z in suspend mode, and is turned to active low when resuming from suspend. 31 captrn i capture button input. a schmitt - trigger input with an internal pull - up resistor when forced to '0', the host computer is automatically informed that a video frame capture was requested by the user.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential ZR36506 pinout 2 - 5 pin number signal i/o description 20 usb_vp i/o u niversal - serial - bus positive data line. this line should be connected to an external pull - up resistor of 1.5 k w . refer to electrical characteristics table for pin spec. this pin is kept high - z while in the suspend position. 21 usb_vm i/o universal - serial - bus negative data line. refer to electrical characteristics table for pin spec. this pin is kept high - z while in the suspend position. flash memory pin number signal i/o description 97 - 98, 101 - 106, 113, 115 - 121, 85, 108 - 112 fa - 1 - fa20 o flash memory addre ss bus. can address up to 4 mbytes. set to ?0? logic in power - down and suspend modes. 95, 94, 93, 92, 90, 89, 88, 86 fd0 - fd7 i/o flash memory data bus. features internal pull - down resistors. high - z in power - down and suspend modes. 82 fcen o flash memory chip enable. active low. ?0? logic in power - down and suspend modes. 81 foen o flash memory output enable. active low. ?0? logic in power - down and suspend modes. 112 fwen o flash memory write enable. active low. ?0? logic in power - down and suspend modes. 84 fresn o flash memory reset. active low. ?0? logic in power - down and suspend modes. 83 frdy i flash ready input (used to indicate end of write or erase operations). power management pin number signal i/o description 33 usb_pwr i ?1? logic indicates t hat power comes from usb port. this input is sampled a few milliseconds after power - on or reset operation. 34 bat_pwr i ?1? indicates that power comes from battery. this input is sampled a few milliseconds after power - on or reset operation.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential ZR36506 pinout 2 - 6 pin number signal i/o description 35 pwr_off o auto - power - off indication output pin. a negative pulse on this output is used to turn - off the battery supply. it is ?0? logic in power - down and suspend modes. lcd control, functional button, general purpose pins pin number signal i/o description 66 - 79 se g0 - seg13 o driving two 7 - segment lcds. ?0? in power - down and suspend modes. 80 seg_ref o a reference pin, driving two 7 - segment lcds. ?0? in power - down and suspend modes. 32 function i function button input. a schmitt - trigger input with an internal pull - up resistor it is used for the stand alone digital still camera mmi. spo pins pin number signal i/o description 25 usb_clk o serial data clock. data is valid on up - going edge. ?0? in power - down and suspend modes. used in non usb stand alone mode. 26 usb _dat o serial data signal. ?0? in power - down and suspend modes. 27 usb_valid o serial data valid. data is valid when usb_valid=?1?. ?0? in power - down and suspend modes. 28 usb_ep2 o ep2 (video) transaction indicator. ?0? in power - down and suspend modes. 29 usb_ep3 o ep3 (audio) transaction indicator. ?0? in power - down and suspend modes. 30 usb_ep4 o ep4 (bulk) transaction indicator. ?0? in power - down and suspend modes. not valid in non usb stand alone mode.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential ZR36506 pinout 2 - 7 absolute maximum ratings (voltages referenc ed to gnd) rating symbol value unit core dc supply voltage v dd - gnd - 0.5 to 2.5 v i/o dc supply voltage v cc - gnd - 0.5 to +3.3 v voltage, any pin to gnd v - 0.5 to v cc +0.5 v dc current drain per pin (excluding v dd , gnd) i 20 ma junction temperature range t j - 40 to +125 o c storage temperature range (plastic package) t stg - 40 to +125 o c electrical characteristics (v cc =3.3 v, t a = 0 to 70 o c) characteristic symbol min type max unit core dc supply voltage (v dd to gnd) v dd 2.25 2.5 2.75 v i/o dc su pply voltage (vcc to gnd) v cc 3.0 3.3 3.6 v core dc supply current (@ v dd =2.5 v) i dd 52 53.16 54 ma i/o dc supply current (@ v dd =3.3 v) i cc 12.36 12.49 12.6 ma suspend mode current (@ v dd =3.3 v) i suspend - - 200 m a high level input voltage v ih 0.7xv cc - v dd +0.3 v low level input voltage v il - 0.3 - 0.3xv cc v input current v i = v cc +0.3 or gnd i in - 10 +1 +10 m a input capacitance c in - 5 16 pf 3 - state output leakage current v o = v cc +0.3 or gnd i oz - 10 +1 +10 m a output capacitance c out - 5 16 pf high level output voltage (@ ioh = 0.8 ma) v oh v cc - 0.1 - - v low level output voltage (@ iol = 0.8 ma) v ol 0 - 0.1 v pull - up / pull - down resistance r pu 25 50 200 k w
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential ZR36506 pinout 2 - 8 usb_vp/vm pins electrical characteristics (v cc =3.3 v, t a = 0 to 70 o c) characteristic symbol min type max unit high - z state data line leakage (@ 0 zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential ZR36506 pinout 2 - 9 refer to video channel chapter for specification of digital video input modes and waveforms. filter uses interpolation process. usb interface parameter specifications parameter v alue unit usb pipe mode usb maximum data rate 12 mbit/sec - compressed video maximum data rate 7.5 mbit/sec isochronous i/o channel rate capacity 0 - 16 kbit/sec control & bulk i/o channel uses transactions of up to 8 bytes per package. audio paramet er specifications parameter symbol value unit digital audio sampling rate fs 8.0/16.0 0.25% khz audio channel bit rate - 64 - 512 kb/sec m - law or a - law - audio codec clock frequency 1.536, 2.048 mhz audio codec clock frequency is programmable to ei ther 1.536 or 2.048 mhz.

zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential general architecture 3 - 1 3 g eneral a rchitecture the following diagram describes the general architecture of the ZR36506, regarding it as a standard usb device: nt1006 software drivers buffers host computer end point 0 control type descriptors & configurations end point 1 control type register bank control & status end point3 isochronous data in type audio data nt1006 camera device message pipe message pipe stream pipe 64-512kb/s end point 2 isochronous data in type video data (compressed or raw) stream pipe 0.5-7.5mb/s bulk pipe 0-2mb/s end point4 bulk data in type
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential general architecture 3 - 2 the ZR36506 has 5 usb end - points located on chip: end - point #0: this is the descriptors and configuration end - point, which is required by the usb standard. end - point #1: this is the control end - point used to access the register bank. the host computer uses these registers to control the ZR36506 and the camera. end - point #2: this end - point produce s and sends the digital video data to the host computer. it uses 0.5 to 7.5 mbit/s of the usb bandwidth, depending on the amount of bandwidth available to the camera. end - point #3: this end - point sends the input digital audio data to the host computer. it uses 64 to 512 kbit/s of the usb bandwidth, depending on the audio quantization and sampling rate. end - point #4: this end - point sends the external bulk data input to the host computer. it uses 0 to 2 mbit/s of the usb bandwidth, depending on the external s ource of data. the ZR36506 has a default set of usb descriptors on - chip, which are automatically used in absence of an external serial eeprom (otherwise, all descriptors are read from the eeprom). the default descriptors allow the host computer to select one of 4 different configurations to operate the camera. camera manufacturers may define new configurations (which combine only the available end - points), using the 8 - pin serial eeprom. additionally, string descriptors may be added (in multiple languages) to define such parameters as the camera vendor's name, product name, serial number, etc. the usb standard regards these features as optional. the ZR36506 supports the usb power - management - protocol. the camera and external circuits may be power - controlled by their vendor - specific software drivers, via serial data/clock and i/o ports. the pwr_dwn output pin may also be used to turn off the local power supply to these external circuits (refer to ZR36506 application notes). the ZR36506 uses a single 12 mhz cry stal to derive all of its internal clock sources. power management also involves switching of internal clock sources, which are not in use in certain modes of operation. this further reduces the device?s power consumption. the ZR36506 has two sources of re set control: the power - on - reset that comes from a dedicated input pin (resin), and the usb - reset command received from the host computer. both reset sources produce a single reset signal inside the ZR36506, which initializes the ZR36506. it is assumed that a power - on - reset is applied to the resin pin before any usb transaction is sent to the ZR36506 by the host. this is required so that the serial - interface - engine inside the ZR36506 be able to receive any valid host command that will follow (including a usb - reset command).
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential general architecture 3 - 3 the total usb bandwidth that is consumed by the ZR36506 is mainly affected by the bandwidth of the video data stream (end - point #2). to prevent a host computer, which initially has little available bandwidth, from rejecting the camera dev ice, the ZR36506 uses the alternate - interface mechanism to enable variable bandwidth. this allows the host computer to select the highest bit - rate that it can reserve for the video stream, starting from 7.5 mbit/s down to 0.5 mbit/s in 0.5 mhz increments ( the selected bit - rate affects video quality). when the ZR36506 is used as a digital still camera in standalone mode, the internal microcontroller controls the chip. this includes camera initialization, setting camera control parameters that are stored in t he serial eeprom, capturing of still images and audio into flash memory.

zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 1 4 r egister b ank (c ontrol and s tatus ) the ZR36506 uses the end - point #1 message pipe for ZR36506 and camera control. as a bi - directional pipe, this channel allows the host computer to write contents to control registers, as well as to read status registers. control registers may also be read by the host computer to check their contents. all registers are byte - oriented. the following section defines a usb vendor - specific protocol for re ad and write operations applied to the ZR36506 register bank. this protocol uses a standard usb request of a vendor - specific type (defined in chapter 9.3 of usb standard rev.1.1) to perform a data transfer of up to 8 bytes to/from end - point #1. a single wr ite operation will write 1 - 8 concurrent bytes to the register bank, and a single read operation will read 1 - 8 concurrent bytes from the register bank. the usb request command always defines the address of the first i/o - register to be read or write. this ad dress is automatically incremented by the ZR36506 for the following data bytes. the first byte of the usb request command defines the direction of the data transfer (0x42 for write, and 0xc2 for read). the second byte is an ZR36506 - specific code - 0x33. th e address of the first i/o - register in the list is defined by the windex parameter of the standard usb request command (these are bytes 4 and 5 of the command). all other bytes in the request command are not important to the ZR36506. write transaction prot ocol out pid device address end-point #1 host initiates write operation data0(1) pid data-byte #1 data-byte #2 (optional) data-byte #8 (optional) reg data ack pid nt1006 sends handshake to host ack pid nt1006 sends handshake to host setup pid device address end-point #1 host initiates i/o-reg operation byte0=0x42 byte1=0x33 byte4 = ra i/o-reg address byte5=0x00 host defines reg-address in pid ack pid host sends handshake to nt1006 host terminates setup command ...empty in packet
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 2 the following table specifies the addresses to which the ZR36506 stores each of the bytes that appear in the data - section of the usb out transaction. these addresses relate to the contents of the windex parameter (bytes 4 an d 5 of the setup command), which is denoted here by ra . data byte # contents description 1 out data will be stored in register at address ra. 2 out data optional. will be stored in register at address ra+1. 3 out data optional. will be stored in regi ster at address ra+2. 4 out data optional. will be stored in register at address ra+3. 5 out data optional. will be stored in register at address ra+4. 6 out data optional. will be stored in register at address ra+5. 7 out data optional. will be stored in register at address ra+6. 8 out data optional. will be stored in register at address ra+7. read transaction protocol in pid device address end-point #1 host initiates read operation data0(1) pid data-byte #1 nt1006 sends data bytes 1-8 ack pid host sends handshake to nt1006 ack pid nt1006 sends handshake to host setup pid device address end-point #1 host initiates i/o-reg operation byte0=0xc2 byte1=0x33 byte4 = ra i/o-reg address byte5=0x00 host defines reg-address out pid ack pid nt1006 sends handshake to host host terminates setup command ...empty out packet data-byte #2 (optional) data-byte #8 (optional)
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 3 data byte # contents description 1 register data byte read from register at address ra. 2 register data optional. byte read f rom register at address ra+1. 3 register data optional. byte read from register at address ra+2. 4 register data optional. byte read from register at address ra+3. 5 register data optional. byte read from register at address ra+4. 6 register data optio nal. byte read from register at address ra+5. 7 register data optional. byte read from register at address ra+6. 8 register data optional. byte read from register at address ra+7. reading from an address that does not exist is legal, but will return unpredicted data. the following tables specify all control and status registers in the ZR36506. a brief description is provided for every specific bit in these registers, and default values (after a reset operation) are defined. for more details about a specific register, consult the appropriate session in this data sheet. register address register name function default value 0 pwr_reg d0: wd_en: '1' enables usb watch - dog timer. d1: sspnd_en: '0' enables suspend - resume logic. d2: res2: '0' restarts en d - point #2 logic, '1' releases. d3: clk48_en: '1' enables 48 mhz at clk48 output pin. d4: reserved, should be ?0?. d5: pwr_vid: '1' video - logic power - on. d6: reserved. d7: e2_en: '1' enables eeprom r/w. 00h 1 config_reg d7 - d0: configuration (set via usb). read - only reg. 00h
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 4 register address register name function default value 2 adrs_reg d6 - d0: device address (set via usb). read - only reg. d7: '0'. reserved. 00h 3 alter_reg d3 - d0: video bandwidth (set via usb). read - only reg. d7 - d4: '0000'. reserved. 00h 4 force_alter_ reg d3 - d0: new_alt forced video bandwid th. r/w reg. d7: force_alt ('1'=force, '0'=ignore). d6 - d4: '000'. reserved. 00h 5 status_reg d0: vfrm_blnk vertical blank (if '1'). read - only reg. d7 - d1: '0000000'. reserved. 00h 6 iopin_reg d0: io_1 read/write level of ZR36506 pin io - 1. d1: io_2 read/wr ite level of ZR36506 pin io - 2. d7 - d4: test[3..0], must be '0000' for proper operation. d3 - d2: '00'. reserved. 00h
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 5 register address register name function default value 7 ser_mode d6 - d4: mode (soft, iicc, cam1, cam2). d7: auto bulk. ?1? ? enable bulk. ?0? ? disable bulk. normal operation (when not in soft m ode): d0: clk_rate ('0' = 93.75 khz, '1' =1.5 mhz). d1: clk_pol ('0' = normal, '1' = inverted). d2: must be '0' for proper operation. d3: vsync ('1' = wait to new input video field). soft mode: d0: clk_out (functional in soft mode only). d1: dat_io (functi onal in soft mode only). d2: sens_out (functional in soft mode only). 00h 8 ser_adrs d7 - d0: address of serial device/camera - param. 00h 9 ser_cont d2 - d0: ser_len number of bytes to wr/rd. d3: ser_dir ('0' = wr, '1' = rd). d4: ser_go/ser_busy. d5: nack_rcv (read - only. '1' means not ack.). d6: continue (do not send start signal next time). d7: no_stop (do not send stop signal this time). 00h 10 ser_dat1 d7 - d0: 1 st serial byte to be sent/received. 00h 11 ser_dat2 d7 - d0: 2 nd serial byte to be sent/received. 00h 12 ser_dat3 d7 - d0: 3 rd serial byte to be sent/received. 00h 13 ser_dat4 d7 - d0: 4 th serial byte to be sent/received. 00h
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 6 eeprom read/write registers register address register name function default value 14 ee_data d7 - d0: eeprom byte to be written/r ead. 00h 15 ee_lsbad d7 - d0: 8 - lsbits of byte address in eeprom. 00h 16 ee_cont d2 - d0: 3 - msbits of byte address in eeprom. d3: ee_dir ('0' = write, '1' = read). d4: ee_go/ee_busy. d7 - d5: ee_clk_force (this field is read - only) 00h or xxx0000 (when no eprom ) sdram and memory buffer setup registers register address register name function default value 18 drm_cont d0: ref ('0' = 8.2 ms, refresh rate). d1: enable operation of sdram. the bit sdram_en is reset to ?0? by reset, suspend or power - down events. us er should write ?1? to enable sdram after these events, allowing for at least 100 usec after power - up. d2: res_ur restart video out buffer read logic. d3: res_fdl restart video - frame - delay logic. d4: res_vdw restart video out buffer write logic. d5 - d7: res erved. 00h 19 drm_prm1 d0 - d3: bits 19 - 16 of fdl_lst_word. d4 - d7: reserved. 00h 20 drm_prm2 d0 - d3: bits 11 - 8 of fdl_1st_row. d4 - d7: reserved. 00h 21 drm_prm3 d0 - d3: bits 11 - 8 of vdw_lst_row. d4 - d7: bits 11 - 8 of vdw_1st_row. 00h 22 drm_prm4 d7 - d0: bits 7 - 0 of fdl_1st_row parameter. 00h 23 drm_prm5 d7 - d0: bits 7 - 0 of fdl_lst_word parameter. 00h 24 drm_prm6 d7 - d0: bits 15 - 8 of fdl_lst_word parameter. 00h 25 drm_prm7 d7 - d0: bits 7 - 0 of vdw_1st_row parameter. 00h
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 7 26 drm_prm8 d7 - d0: bits 7 - 0 of vdw_lst_row parameter. 00h
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 8 video setup and control registers register address register name function default value 27 vin_reg1 d2 - d0: vin_mode digital video input format. d3: vsnc_pol vertical - sync. pulse polarity. d4: hsnc_pol horizontal - sync. pulse polarity. d5 : fid_pol field identity signal polarity. d6: hvalid_pol pixel envelope polarity. d7: vclk_pol ('1'=data valid on up - going clock). 00h 28 vin_reg2 d0: auto_fid auto field identity generation. when set to '1', the ZR36506 ignores the fid input from camera, and generates an internal toggling signal of its own instead. d1: none_interlace interlace/non - interlace mode. if set to '1', all input fields from the camera are processed, otherwise odd fields are ignored. d2: no_hvalid if set to '1', hvalid input ignor ed. d3: uv_id if set to '1', use v7 pin as uv - id ('1'=u). d4: fix_2c if set to '1', u7 & v7 are inverted (2's comp). d5: send_fid - if set to '1', frame_phase[0]=fid. d6: '0' reserved. d7: keep_blank - set to '1' to drop incoming frames. 00h 29 lxsize_in d 7 - d0: bits 7 - 0 of input video line length. 00h 30 mxsize_in d1 - d0: bits 9 - 8 of input video line length. d7 - d2: '000000' reserved. 00h 31 lysize_in d7 - d0: bits 7 - 0 of input video number of lines. 00h
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 9 register address register name function default value 32 mysize_in d1 - d0: bits 9 - 8 of input video number of lines. d7 - d2: '000000' reserved. 00h 33 lx_offst d7 - d0: bits 7 - 0 of input video horizontal offset. 00h 34 mx_offst d1 - d0: bits 9 - 8 of input video horizontal offset. d7 - d2: '000000' reserved. 00h 35 ly_offst d7 - d0: bits 7 - 0 of input video vertical offset . 00h 36 my_offst d1 - d0: bits 9 - 8 of input video vertical offset. d7 - d2: '000000' reserved. 00h 37 frm_rate d4 - d0: frame - rate factor numerator for video data output. d6 - d5: frame - rate factor denumerator code: '00': 32, '01': 30, '10': 25. d7: '0' reserve d. 00h 38 lxsize_o d7 - d0: bits 7 - 0 of output video line length. 00h 39 mxsize_o d1 - d0: bits 9 - 8 of output video line length. d7 - d2: '000000' reserved. 00h 40 lysize_o d7 - d0: bits 7 - 0 of output video number of lines. 00h 41 mysize_o d1 - d0: bits 9 - 8 of o utput video number of lines. d7 - d2: '000000' reserved. 00h 42 filt_cont d2 - d0: xfilt_cont horizontal - filter select. d4 - d3: yfilt_cont vertical - filter select. d7 - d5: '000' reserved. 00h 43 vo_mode d5 - d0 digital video - out format (4:2:2, 4:2:0, compression) . d6: ('1' = compressed video, '0' = raw). d7: '0' reserved. 00h 44 intra_cyc d7 - d0: intra - compression cycle (in frame units). 00h 45 strip_sz d3 - d0: act_strip actual strip width (# of video lines). d7 - d4: virt_strip virtual strip width (# of video lines ). 00h
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 10 register address register name function default value 46 force_int ra d0: ('1' = force next frame intra). d7 - d4: min_denum[3..0]. d3 - d1: '000' reserved. 00h 47 force_up d0: ('1' = force up - mode intra segments). d7 - d1: strip_dat_limit[6..0]. 00h 48 buf_thr d7 - d0: threshold for buffer space frame - drop decision (given in units of 2 kb). 00h 49 dvi_yuv d2 - d0: code for yuv re - order processor. d4 - d3: buf_thr[9..8]. extension for 16 mbit sdram. d6: slow_clk12 '1' select 12 mhz for horizontal blank. d7: slow_clk16 '1' select 16 mhz for horizontal blank. d5: '0' reserved. 00h audio & bulk - data port read/write registers register address register name function default value 50 audio_cont d0: e_a - enable audio channel ('1' enables, '0' disables). d1: e_b - enable bulk - data port ('1' enables, '0' disables). d3 - d2: bps - bits/samp: 00: 8b, 01: 12b, 10: 14b, 11: 16 b. d4: s/m - select stereo/mono '0': mono. '1': stereo. d5: fs - audio sampling rate '0': 8 ks/sec. '1': 16 ks/sec. d7 - d6: bk - bit - clk freq 1: 64 [khz]. 2: 1544 [khz]. 3: 2048 [khz]. 00h 51 aud_pk_l en d7 - d0: max. number of bytes in audio packet 00h
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 11 (0 to 128). 52 blk_pk_len d6 - d0: max. number of bytes in bulk packet (0 to 64). d7: '0' reserved. 00h usb watch - dog register register address register name function default value 53 wd_count d7 - d0: us b_frame watch - dog delay parameter. a value 0x00 produces a 686 micro - seconds delay. a value of 0xe9 produces a 996 micro - seconds delay. any value between these two values affects the delay in steps of 1.33 micro - seconds. values higher than 0xe9 have no eff ect. 00h compression ratio management registers register address register name function default value 56 pcm_thr1 d7 - d0: pcm threshold 1 (unsigned 0 - 255). 00h 57 pcm_thr2 d7 - d0: pcm threshold 2 (unsigned 0 - 255). 00h 58 dist_thr_i d7 - d0: dist_thr_i ( distortion. threshold for inter). 00h 59 dist_thr_a d7 - d0: dist_thr_i (distortion. threshold for intra). 00h 60 max_dist_i d7 - d0: max_dist (maximum distortion for inter). 00h 61 max_dist_a d7 - d0: max_dist (maximum distortion for intra). 00h 62 vid_buf_ left d7 - d0: space left in ZR36506 sdram buffer for compressed video data (given in units of 2kb). read - only register. 00h 63 lfp_lsb d7 - d0: bits 10 - 3 of last_frm_pntr (sdram pointer). 00h
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 4 - 12 register address register name function default value read - only register. 64 lfp_msb d6 - d0: bits 17 - 11 of last_frm_pntr (sdram pointer). d7: ram_full ('1' if event occurred from last read). read - only register. 00h 65 vid/lpf d1 - d0: vid_buf_left[9..8]. d3 - d2: lpf[19..18]. d7 - d4: '0000' reserved. read - only register. 00h
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential internal microcontroller host request interface 5 - 1 5 i nternal m icrocontroller h ost r equest i nterface in u sb mode, the ZR36506 internal 8 - bit microcontroller (the v8) waits for a command from the host pc to perform one of the following tasks: load eeprom, upload flash, cancel flash upload and erase flash. in usb mode, the microcontroller does not access the rb cs directly. this is due to the fact that in this mode, the master of the rbcs is the host pc (via usb). the following register is an interface with the microcontroller: rbcs address register name function value default value 66 v8_cmmnd (r/w register) d0: ld_eprm (download eeprom to sram). d1: ld_flsh (upload flash to pc). d0 - d1: clr_flsh (clear flash memory). d2: cncl_ld (cancel flash upload). d3 - d7: reserved. ?01? ?02? ?03? ?04? 00h once the ZR36506 device is connected to usb, the software driver can perform these operations: 1. set the ld_eprm bit (reg.66, bit d0). this causes the camera to update the v8 software from the external eeprom, if it exists. note that before setting the ld_eprm bit of reg.66, the ser_mode reg. (reg.7) has to be set to 0xb 0. after setting the ld_eprm bit, the software waits until the ld_eprm bit returns to ?0?. 2. set the auto_blk bit (reg.7, bit d7) to enable the v8 to use the bulk pipe to send data to the host computer. set the ld_flsh bit (reg.66= 0x02, bit d1). this causes the camera to upload all picture and audio data from flash memory to the host computer using the bulk pipe (ep #4). the software should wait until the ld_flsh bit returns to ?0?. note that even if there is no data in the flash memory (i.e. no pictures wer e taken), the data transfer starts from address 0 of the flash memory and ends at the last byte of the flash (size of the flash memory is 2 mbytes). note that audio data is optional and follows the given picture. 3. if there is a request to cancel the operati on of uploading the flash memory, set the cncl_ld bit (reg.66=0x04, bit d2). the software waits until reg.66 returns to 0x00. 4. set the clr_flsh bits (reg.66, bit d0 - d1, 0x03) upon request from user. this causes the camera to erase flash memory. the software waits until reg.66 returns to 0x00.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential register bank (control and status) 5 - 2
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential v8 - risc bl ock 6 - 1 6 v8 - risc b lock general the v8 m - risc is an 8 - bit microcontroller, which is used in a detachable usb standalone mode to control and store captured still images and audio clips in flash memory. it initializes the camer a and sets the required registers to perform still image capture. in a/v stream standalone mode, the microcontroller transfers data from corresponding data fifos to the serial interface. when connected to a pc, it is possible to download stored images and audio clips. memory resources the m - risc will require the following memory resources: external 2 kbyte eeprom which contains all parameters for the ZR36506 operation mode, camera setup parameters and tables, video/audio class parameters, and optional direc t code for the microcontroller to replace specific functions or add special, new functionality. on - chip 5 kbyte rom, which contains the kernel program, service routines, interrupt handling routines and main program. on - chip 2 kbyte sram, which is used for stack, interrupt vectors, eeprom download, and microcontroller work area.

zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential power management 7 - 1 7 p ower m anagement to meet usb standard requirements, the ZR36506 must be able to control usb power supply for the entire device implemented around it. two pins of the ZR36506 were d edicated to this task: pwr_dwn and suspnd. both pins are open - drain, and active when high - z. the usb standard requires that once a device is hot - connected, it must consume no more than 100 ma from the usb port. after configuration, the device may consume u p to 500 ma. additionally, the device must not consume more than 0.5 ma in suspend mode. the ZR36506 uses its power management pins as follows: the pwr_dwn pin was designed to switch the usb 5v source to the video/audio source circuit (ccd, dsp, adc, m - con troller, video - decoder, audio codec, etc.). the only ics that continue to receive normal power supply in the power - down state are the ZR36506, sdram, and eeprom (all ics operate on 3.3 v). the suspnd pin was designed to enable the designer to shut down any additional element in the ZR36506 application circuit, which may increase the total current consumption to more than the usb standard allows (> 0.5 ma). refer to the ZR36506 application notes for an example of how the pwr_dwn and suspnd pins should be use d, and for the 3.3 v supply in application design. the ZR36506 software driver can control part of the power - management process through the following registers on the ZR36506: parameter register address usage sspnd_en reg.0/d1 sspnd_en enable suspend state: 0: default (after reset). responds to usb suspend condition as required by usb standard. 1: suspend state is disabled. pwr_vid reg.0/d5 pwr_vid apply usb 5 v to video/audio source 0: default (after reset). video/audio source is off. 1: video/audio source is powered on. res2 reg.0/d2 res2 restart end - point #2 (video pipe) in the ZR36506: 0: default (after reset). restart ZR36506 video path. 1: enable ZR36506 video processor and pipe circuit (after video source is powered on).
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential power management 7 - 2 after a usb - reset oper ation, the ZR36506 is in its power down state (pwr_dwn pin is set to high - z). after configuration, the software sets the pwr_vid bit to '1' to turn on the camera circuit (pwr_dwn='0'). suspend (if sspnd_en bit is not set by software) occurs if a usb idle s tate is detected for as long as 3 milliseconds, and resets the pwr_vid bit.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 1 8 v ideo i nput i nterface the ZR36506 digital video input is in yuv format. the ZR36506 interface for this format is flexible and supports 4:2:2 (8 - bit, or 16 - bit), and 4:1:1 timings (12 - bit). horizontal and vertical controls may be physical pulses or coded signals. additionally, pixel clock and pulse polarity of the control signals may be programmed to either positive or negative. all the input buffers in the ZR36506 that are suppose d to be connected to the digital video source are 5 - volt tolerant. this means that a camera with 5 - volt cmos outputs will not cause any damage to the ZR36506, even though the ZR36506 operating voltage is 3.3 volts. the ZR36506 digital video input consists of the following signals: y0 - y7 in the 4:2:2 16 - bit, and 4:1:1 (12 - bit) modes, this is the luminance input bus. in the 4:2:2 8 - bit mode, this bus is used for mux yuv data. this bus is sampled by the vclk input clock for the unsigned binary value (0 - 255) of the y component (or u and v as well in the 8 - bit mode). u0 - u7 this is the color (u or u/v) input bus. in the 4:2:2 16 - bit and 4:1:1 (12 - bit) formats, this bus is sampled by the even cycles of vclk input clock for the binary value (0 - 255) of the u componen t, and by the odd cycles of vclk input clock for the binary value (0 - 255) of the v component. vsync this is the vertical synchronization pulse, which indicates the start of a new video field (in interlaced mode) or the start of a new video frame (in non - in terlaced mode). this pulse is normally negative. hsync this is the horizontal synchronization pulse, which indicates the start of a new video line. this pulse is normally negative. fid this signal is used in interlaced mode, to indicate whether the current field is even or odd. in non - interlaced mode, this input is ignored by the ZR36506. vclk this signal is the video pixel clock. it is used by the ZR36506 to sample all other inputs in the digital video interface. hvalid this input is the pixel valid qualif ier. when inactive, the ZR36506 refers to the samples that come from the y, u, and v buses as blank pixels (which are not considered a part of the digital image). the ZR36506 may be programmed to ignore the hvalid input.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 2 the digital video camera timing s ignal expected by the ZR36506: odd field (if interlace) even field (if interlace) first line last line vsnc hsnc fid hsnc hvalid vclk y[0:7] u[0:7] y0 u0 y1 y2 v0 u2 xx xx xx xx yuv-4:2:2 mode - 16-bit. note that the order of u/v is set by reg.49/d0. v2 u4 v4 y3 y4 y5 not less than 63us not more than 53us v7 vclk y[0:7] u0 yuv-4:2:2 mode 8-bit. note that the order of y/u/v is set by reg.49/d2-d0 y0 v0 y1 u2 y2 v2 y3 u4 y4 v4 y5 u6 y6 v6 y7 u8 y8 v8 in yuv 8 - bit mode, the vclk frequency is twice the pixel rate.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 3 vclk y[0:7] u[0:3] y0 vm0 y1 y2 um0 vl0 xx xx xx xx yuv-4:1:1 mode (12-bit) y3 ul0 vm1 um1 y4 y5 vm0 = v0[7..4], vl0 = v0[3..0] um0 = u0[7..4], ul0 = u0[3..0] video interface timing parameters vclk vsnc, hsnc, fid, hvalid, y[0:7], u[7:0], v[7:0] valid 90% 10% 90% 90% 10% 10% tsu > 15ns th > 10ns vclk_pol = '0' vclk_pol = '1' input video param eters the ZR36506 was designed to interface to most available yuv formats. to make this possible, most video parameters are programmable via specific registers from the ZR36506 register bank. the following table specifies all parameters that may be set by the host computer to fit a specific video source (digital camera, video decoder, etc.): parameter register address usage
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 4 parameter register address usage vin_mode[2..0] reg.27/d2 - d0 vin_reg1 video input mode: 000: 8 - bit 4:2:2 mode, using synchronization pulses. 001: 8 - bit 4:2:2 mode, using ccir 656 sync. codes. 010: 16 - bit 4:2:2 mode, using synchronization pulses. 011: 16 - bit 4:2:2 mode, using ccir 656 sync. codes. 110: 12 - bit 4:1:1 mode, using synchronization pulses. 101, 111: spare. vsnc_pol reg.27/d3 vin_reg1 polarity of vsnc pulse : 0: synchronize on up - going edge. 1: synchronize on down - going edge. hsnc_pol reg.27/d4 vin_reg1 polarity of hsnc pulse: 0: synchronize on up - going edge. 1: synchronize on down - going edge. fid_pol reg.27/d5 vin_reg1 polarity of fid (field identifier in interlace mode) : 0: fid='0' during first (odd) field. 1: fid='0' during second (even) field. hvalid_pol reg.27/d6 vin_reg1 polarity of hvalid signal: 0: input signal hvalid='1' for active pixels. 1: input signal hvalid='0' for active pixels. vclk_pol re g.27/d7 vin_reg1 polarity of vclk (pixel clock): 0: camera data valid at vclk falling edge. 1: camera data valid at vclk rising edge. auto_fid reg.28/d0 vin_reg2 0: use external fid signal. 1: generate internal toggling fid. ignore fid pin.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 5 parameter register address usage non_interlace reg.28/d1 vin_reg2 0: interlace mode. only even fields are transferred. 1: non - interlace mode. all frames are transferred. no_hvalid reg.28/d2 vin_reg2 0: normal operation. 1: ignore the hvalid input (assume constant '1'). uv_id reg.28/d3 vin_reg2 0: no rmal operation. 1: use v7 input as a u/v identifier ('1'=u, '0'=v). fix_2c reg.28/d4 vin_reg2 fix 2's compliment u/v values 0: normal operation. 1: invert u[7] and v[7] to fix to unsigned binary. xsize_in[9..0] regs.29 - 30 lxsize_in mxsize_in number of pi xels in active line of video source. ysize_in[9..0] regs.31 - 32 lysize_in mysize_in number of active lines in frame (/field) of video source. x_offst[9..0] regs.33 - 34 lx_offst mx_offst horizontal offset (number of pixels to be skipped after start of line) . y_offst[9..0] regs.35 - 36 ly_offst my_offst vertical offset (number of lines to be skipped after start of frame). dvi_yuv[2..0] reg.49/d2 - d0 dvi_yuv order of ya/u/v/yb components of a pixel - pair in 8 - bit modes (d0 affects 16 - bit mode also): d0: '0': u comes before v. '1': u comes after v. d1: '0': ya comes before u/v. '1': ya comes after u/v. d2: '0': yb comes before u/v. '1': yb comes after u/v.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 6 parameter register address usage slow_clk12 slow_clk16 reg.49/d7 - d6 dvi_yuv use these control bits for cameras that have slow vclk or too sh ort horizontal blank time interval: d6: '0': normal operation. '1': select 12 mhz clock during horizontal blank. d7: '0': normal operation. '1': select 16 mhz clock during horizontal blank. frame - rate control a camera, or any other video source, normally provides a fixed number of frames per second. for example, an ntsc - based camera will always provide a frame rate of 30 frames per sec. the ZR36506 allows the application software to modify the effective frame rate to fit its needs. this allows some of the frames coming from the camera to be dropped before processing, eliminating the effort that would be wasted on frames dropped by the computer anyway.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 7 the parameter that controls the effective frame rate is called frm_rate, and is specified in the followin g table: parameter register address usage numerator[4..0] reg.37/d4 - d0 n frame drop factor ( n = 0 - 31). effective frame rate is: ntsc: 30*( n +1)/ d. pal: 25*( n +1)/ d. denum.code[1..0] reg.37/d6 - d5 code for d '00': d =32. '01': d =30. '10': d =25. the n par ameter ranges from 0 to d - 1. the value n = d - 1 instructs the ZR36506 to transfer to the host computer the full frame - rate that is delivered from the video source. any value n that is less than d - 1 results in dropped frames from time to time, so that the effe ctive frame rate is only ( n +1)/ d of the full frame - rate. video scaling the ZR36506 has two independent down scalers: one for frame width and one for frame height. it is the responsibility of the software application to select scale factors that result in a reasonable aspect ratio. in order to set the scaling factor, the host computer must simply specify the desired size of the output frame (assuming xsize_in and ysize_in are initially set). scaling is performed automatically by the ZR36506, regarding the ou tput frame size versus the input frame size. the following table specifies the parameters that are used to set the output frame size: parameter register address usage xsize_o [9..0] regs.38 - 39 lxsize_o mxsize_o number of pixels in line of scaled output video frame. ysize_o [9..0] regs.40 - 41 lysize_o mysize_o number of lines in scaled output video frame/field.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 8 note that if the host computer specifies the same values for input frame size and output frame size, no scaling occurs (scaling factor is 1:1) . the ZR36506 performs no up - scaling (to produce cif size from 240 - line video fields, a special interpolation process is applied by the software driver). this means that xsize_o should never be greater than xsize_in, and ysize_o should never be greater tha n ysize_in. video filters the ZR36506 uses internal programmable anti - aliasing filters for the scaling process. there are two filters that are used: one for horizontal scaling, and the other for vertical scaling. the filters are programmed independently of each other, and independently of the scaling factors. both horizontal and vertical filters use a combination of fir structure and interpolation to eliminate pixel jitter in the output frame. the interpolation process effectively improves the resolution of the input frame by a factor of 4, both horizontally and vertically. the following table specifies the register that is used to set filter parameters: parameter register address usage xfilt_cont [2..0] reg.42/d2 - d0 filt_cont select one of 5 possible h orizontal filters. yfilt_cont [1..0] reg.42/d4 - d3 filt_cont select one of 3 possible horizontal filters. the following table specifies the horizontal filters: xfilt_cont [2..0] fir filter applied (horizontally) interpolation (horizontally) 000 fir = (1.0) no 001 fir = (1.0) yes 010 fir = (0.5, 0.5) yes 011 fir = (0.25, 0.5, 0.25) yes 100 fir = (0.25, 0.25, 0.25, 0.25) yes
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 9 the following table specifies the vertical filters: yfilt_cont [1..0] fir filter applied (vertically) interpolation (verti cally) 00 fir = (1.0) no 01 fir = (1.0) yes 10 fir = (0.5, 0.5) yes video output format the ZR36506 supports 3 different formats for output video data: compressed data format, yuv 4:2:2 and 4:2:0 raw data formats. the following table specifies the reg ister that is used to set output video format: parameter register address usage vo_mode [6..0] reg.43/d6 - d0 vo_mode select one of 3 video output formats: 0x60 = compressed data format. 0x03 = yuv 4:2:2 interleaved format. 0x14 = yuv 4:2:0 planar format . it is the responsibility of the ZR36506 software driver to make conversions to provide the application software with several os standard video data formats, but the data that is transferred via usb must be one of these 3 formats. compressed data format the ZR36506 compressor is designed to compress yuv 4:2:0 frames (12 bits/pixel) by a factor of 1:3 to 1:15 (resulting in 4 to 0.8 bits/pixel). the compression algorithm is a proprietary zoran development, which meets 3 important requirements that were mad e to guarantee the high performance of the ZR36506: fits the selectable bandwidth of the usb (0.5 - 7.5 mbits/sec) supports variable compression rates (in very small increments) requires minimum cpu time for decompression (and fits the mmx ? concept)
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 10 the ZR36506 compressor compresses specific frames using its ?intra? mode and all others using its ?inter? mode. intra mode does not require any previous frame, while inter mode is always based on a reconstructed previous frame. ?intra? frames provide the algor ithm with relative resistance to error propagation between frames but consume more bits per pixel than ?inter? frames. error propagation within the frame itself (from higher lines to lower lines) is eliminated by dividing the frame into many horizontal str ips. yuv 4:2:2 interleaved format in this format, the ZR36506 transfers to the host computer 2 bytes for every pixel (16 bits/pixel). the y - component is available for every pixel, but the u and v components are each available for every second pixel (y0, u 0, y1, v2, y2, u2, y3...). yuv 4:2:0 planar format in this format, the ZR36506 transfers to the host computer 3 bytes for every 2 pixels (12 bits/pixel). the y - component is available for every pixel, but the u and v components are only available for every second pixel in even lines. in this mode, the host computer receives a frame preformatted in the planar mode; this can save cpu time in the host computer in most video conferencing applications. the y and u/v components are packed by the ZR36506 in 64 - byte packets, and have the following structure: packet number contents 1 pixels 0 - 63 of the y - image. 2 pixels 64 - 127 of the y - image. 3 pixels 0 - 63 of the u - image (or v - image). the u - image and v - image are half - size of the y - image in both horizontal and vert ical dimensions. the ZR36506 produces a line of u pixels followed by a line of v pixels, and then u pixels again in a toggling manner. these pixels are always packed in this modulo - 3 packet. the host computer - knowing the frame - size - can separate between u and v components. 4 pixels 128 - 191 of the y - image. 5 pixels 192 - 255 of the y - image. 6 pixels 64 - 127 of the u - image (or v - image).
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 11 video buffer control registers the ZR36506 uses a pre - defined sdram space to store the output video data before being tr ansferred to usb; this buffer is called video buffer, and is used as a fifo which observes data bursts at the video frame rate (up to 30 hz) and supplies data bursts at the usb frame rate (1000 packets per second). the size of the video buffer is set by th e host computer via the sdram registers. depending on usb bandwidth and output frame size and rate, this buffer may become full in the middle of video streaming. in this case, additional frames will be dropped by the ZR36506 until enough free space is avai lable in the buffer. when operating in compressed mode, the host computer can alter the compression rate by modifying some threshold registers on the fly. this may prevent most "buffer - full" events and allows for consistent frame - rate (i.e. frames are not dropped). to enable the host computer to monitor the status of the video buffer and control frame - dropping, the ZR36506 provides the following registers: parameter register address usage buf_thr [9..0] reg.48/d7 - d0 reg.49/d4 - d3 minimum remaining buffer space to begin frame dropping (in 2 kbyte units). "buffer - full" occurs when remaining buffer space is less than the value in this register. the host computer sets this register according to the maximum space that a video frame may occupy. vid_buf_left [9 ..0] reg.62/d7 - d0 reg.65/d1 - d0 this is a read - only register that provides the actual remaining buffer space (in 2 kbyte units). the host computer can prevent "buffer - full" occurrence by monitoring this register and changing compression thresholds. lfp [1 9..0] reg.63/d7 - d0 reg.64/d6 - d0 reg.65/d3 - d2 this is a read - only register that provides the sdram address for data write in the video buffer at the end of every video frame (in 16 byte units). the host computer can keep track of the current compression rat e by monitoring this register from time to time.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 12 special video control bits the ZR36506 has two special bits in the vin_reg2 register, which may alter the input video sequence. these bits are normally used during still capture operation and are specifi ed in the following table: parameter register address usage send_fid reg.28/d5 vin_reg2 send fid information in frame header data. the fid information is used for reconstructing a 2 - field frame from an interlaced camera. 0: default value. 1: fid bit over rides bit 0 of frame_phase[4..0]. keep_blank reg.28/d7 vin_reg2 force a "blank" position on the input video frame source, and drop new frames. software driver must switch this bit from '0' to '1' during a true blank position. 0: default value. 1: keep exi sting blank longer by forcing "blank". usb pipe video data format data packets video data is received by the host computer as a stream of bytes via the end - point #2 isochronous pipe. there is an incoming data packet every 1 millisecond (every usb - frame) a nd its size is limited by the maximum bandwidth that was initially set for end - point #2. the maximum byte - count for each packet is one of the following numbers: 959 (for 7.5mb/sec), 895, 831, 767, 703, 639, 575, 511, 447, 383, 319, 255, 191, 127, or 63 (fo r 0.5mb/sec). regarding the data on the usb - the data of a new video frame always starts in a new data packet, so in most cases the last packet of a video frame is shorter than a normal packet. the ZR36506 sends one or more empty packets between every two video frames.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 13 video frame synchronization in all modes of operation (compressed or raw video), two concurrent video frames will be separated by at least one empty data packet. the ZR36506 software driver uses this to detect a start - of - video - frame. additi onally, the first two bytes of the video frame header contain a start - of - video - frame - pattern (=0xaa55), which is used by the software driver as a qualifier to verify that the data represents an uncorrupted video frame. video frame header a header precedes every video frame. the header data is organized in little - endian format, i.e. the lsb of a 2 - byte parameter precedes the msb (lsb occupies the lower address). the same header format is used in all modes of operation. the following table specifies the param eters of this header: offset parameter name no. of bytes description & specification 0 vid_frm_patt 2 0xaa55 = start of video - frame pattern. 2 header_length 1 number of bytes in this header = 12. 3 frame_numb 1 d4 - d0: unsigned integer. incremented (m od 32) on every frame that is delivered to host computer. d7: capture_pressed (active if '1'). d6: resumed ('1': first frame after suspend). d5: spare 4 frame_phase 1 d4 - d0: unsigned integer. incremented mod 30 on every frame that is acquired from camera. d7 - d5: spare. 5 frame_latency 1 unsigned integer. number of milliseconds elapsed from the moment that the camera began delivery of this frame to ZR36506, to the moment that the ZR36506 began delivery of frame - header to usb. 6 data_format 1 d7: '0'=vendo r specific (like ZR36506) (?1?=class specific). d6: '0'=raw data. '1'=compressed data. d5 - d0: vid_format_code: 0x03 = yuv - 4:2:2. 0x14 = yuv - 4:2:0 planar. 0x06 - 0x12, 0x15 - 0x1f = spare. 0x20 = zoran's compression.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential video input interface 8 - 14 offset parameter name no. of bytes description & specification 7 format_param 1 d7: intra_frame ('1' = in tra, '0' = inter + intra). this bit should be ignored in raw data frames. d6: spare. d4 - d0: pix_depth (number of bits per pixel). these bits should be ignored in compressed data frames. 8 frame_width 2 unsigned word integer - number of pixels per line. 1 0 frame_height 2 unsigned word integer - number of lines in frame.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential sdram control and interface 9 - 1 9 sdram c ontrol and i nterface mau (memory access unit) the mau is responsible for all data transfers between the internal units and external sdram. the sdram in use is organized as two ban ks of 524,288 - word x 16 bit and is accessible via a 16 bit data bus. the design is based on 3.3 v powered sdrams manufactured by micron (mt48lc1m16a1) and fujitsu (mb81f161622c). the sdram operation modes employed by the mau are: full - page - mode - read full - p age - mode - write burst - of - 8 - read auto precharge mode manual two bank precharge cas latency = 2 to support sdrams that do not have cas latency = 1(also sufficient for operating frequency of 48 mhz). both 8.2 ms and 16 ms refresh rates are supported. refer to the following mau main block diagram: da [11:0] cke csn rasn casn wen uru usb read unit fdl frame delay line vdw video data write rfu refresh and initialization unit dib dram interface block dsm dram state machine mau usb _ dat _ reg pix_rst48n clk48 rst48n pwr _ dwn drm _cont drm _ prm fdl _ dat _ req vid _ mem _ req frame_end_pre frame_end buf _state_idle_pre buf _state_idle buf _state_last_pre buf _state_last from cvi from rbcs from dvc ur _ fifo _ wr nextvf next8w vdw _ buf _rd vdw _el eo8w fdl _ fifo _rd fdl _ fifo _ wr vdw _ret dd [15:0] cvi dvc sdram
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential sdram control and interface 9 - 2 the mau performs the following tasks: read data from sdram to usb fifo the universal serial bus can transfer 12 mbits/sec ? while this is considered the usb peak - rate, the maximum average rate that can be used for video data is approximately 8 mbits/sec (iso 1023 bytes every 1ms). the mau performs an 8 - word read operation to fill the usb fifo. this lasts about 340 ns, and is expected to be performed every 10.6 us on average (assuming continuous 12 mbit/sec demand). read & write data from/to sdram to obtain one video - frame delay the video source for this operation is the reconstructed image from the digital video compressor (dvc), and its timing is derived from the digital video scaler (dvs) output. there are two fif os for this task in the dvc - one for write to sdram operations and one for read from sdram operations. the data that is written to sdram from the write fifo is read back from sdram to the read fifo after a delay of approximately one video frame. this task is active only in compressed video mode, and its video format is always 4:2:0 (12 bits/pxl). the pixel rate is 12.2727 mhz for ntsc and 14.75 mhz for pal (or 9.545454 mhz and 14.31818 mhz in sanyo cameras), so the maximum rate in 16 - bit words is approxima tely 11.0625 mw/sec for pal when full frame - size is used. in all these systems, the active line lasts within 53 us, followed by a 10 - 11 us blank with no activity. the mau uses 32 - word page - read and 32 - word page - write operations to perform the transfer. thi s lasts approximately 1600 ns, and is expected to be performed every 2893 ns in worst cases (at rates of 11.0625 mw/sec). write output video - data to sdram this is the same data that is later on read back into the usb fifo. the source for this data is the v ideo data buffer which is located in the dvc (digital video compressor). when operating in compressed video mode, the video data buffer is first filled with compressed data of at least one video frame line (one line for full - frame size, and additional line s for small frame sizes). this takes place during the active - line time interval, so that the video data buffer is ready to be transferred to sdram when the video blank time interval begins. the blank time - interval lasts approximately 10 us, and during this time the mau writes up to 384 words to sdram, using page - write mode. the mau uses a page - write operation, which lasts approximately 8400 ns (if n=384 in worst cases, where the mau encounters end of 256 - word sdram line twice during the burst). when operati ng in raw video mode, the video data buffer is split into two 192 - word buffers. at the same time that one buffer is being filled with raw video data (this time arriving from the dvs), the other buffer is being transferred to sdram. this process is carried out during the active - line time, as well as during the blank time - whenever there is data ready to be written to sdram. residual data is transferred at the end of the video frame. sdram refresh a refresh operation lasts 60 ns and uses auto refresh. the as ic supports both 8.2 ms and 16 ms refresh sdrams (32 ms, 2048 - cycle refresh or 64 ms, 2048 - cycle refresh). 8 ms rate produces a 32 ms x 2048 cycle refresh (15.625 us between refresh tasks), while 16 ms rate produces a 64 ms x 2048 cycle refresh (31.25 us b etween refresh tasks).
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential sdram control and interface 9 - 3 sdram initialization sdram requires initialization after reset, suspend and power down. users should write 1 to register 18 (drm_cont) bit 1 of rbcs after these events, allowing the sdram at least 100 microseconds to stabilize inter nal circuitry. the mau then automatically performs an sdram initialization sequence and allows other memory tasks to be performed. this task lasts approximately 600 ns. in the beginning of every task, the mau programs the mode register, utilizing the ad dress bus. cas latency is always set to 2, burst type is always sequential, and burst length is set to 8 for usb fifo read tasks and to full - page for all other tasks. only the usb fifo read task employs auto precharge. all other tasks (read and write) perf orm a pall command during task command sequence. the following table specifies the registers that are used to support sdram: sdram and memory buffer setup registers register address register name function default value 18 drm_cont d0: ref '0' = 8.2 ms refresh rate. '1' = 16 ms refresh rate. d1: sdram_en. d2: res_ur restart video out buffer read logic. d3: res_fdl restart video - frame - delay logic. d4: res_vdw restart video out buffer write logic. d5 - d7: reserved. 00h 19 drm_prm1 d0 - d3: bits 16 to 19 of fdl_last_word. d4 - d7: reserved. 00h 20 drm_prm2 d0 - d3: bits 8 to 11 of fdl_1st_line. d4 - d7: reserved. 00h 21 drm_prm3 d0 - d3: bits 8 to 11 of vdw_1st_line. d4 - d7: bits 8 to 11 of vdw_last_line. 00h
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential sdram control and interface 9 - 4 register address register name function default value 22 drm_prm4 d0 - d7: bits 0 to 7 of fdl_1st_line. 00h 23 drm_prm5 d0 - d7: bits 0 to 7of fdl_last_word. 00h 24 drm_prm6 d0 - d7: bits 8 to 15 of fdl_last_word. 00h 25 drm_prm7 d0 - d7: bits 0 to 7 of vdw_1st_line. 00h 26 drm_prm8 d0 - d7: bits 0 to 7 of vdw_last_line. 00h video setup and control registers register address register name function default value 48 buf_thr d7 - d0: threshold for buffer space frame - drop decision (given in units of 2 kbytes). 00h 49 dvi_yuv d2 - d0: code for yuv re - order processor. d4 - d3: buf_thr[9..8] extension for 16 mbit sdram. d6: slow _clk12 '1' select 12 mhz for horizontal blank. d7: slow_clk16 '1' select 16 mhz for horizontal blank. d5: '0' reserved. 00h
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential sdram control and interface 9 - 5 clk48 output register address register name function default value 0 pwr_reg d0: wd_en: '1' enables usb watch - dog timer. d1: ssp nd_en: '0' enables suspend - resume logic. d2: res2 '0' restarts end - point #2 logic. '1' releases. d3: clk48_en - '1' enables 48 mhz at clk48 output pin. d4: ep234_en - ?1?enables spo output in usb mode. d5: pwr_vid - '1' video - logic power - on. d6: reserved. d7: e2_en - '1' enables eeprom r/w. 00h

zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential camera control serial port 10 - 1 10 c amera c ontrol s erial p ort the ZR36506 has a dedicated programmable serial port intended to be used for camera control. this port has several modes of operation, where the ZR36506 is always the bus - master (one of the more useful modes is iicc). the programmable serial port is controlled by the host computer via the following registers of the ZR36506 register bank: ser_mode, ser_adrs, ser_cont, ser_dat1, ser_dat2, ser_dat3, and ser_dat4. camera control uses 3 dedica ted pins on the ZR36506: iicck is an open drain output pin, used to drive the serial port clock signal. it is supposed to be connected to an external 3.3 - 10k w pull - up resistor to 3.3. iicdt is an open - drain bi - directional pin, used to send and receive the serial port data. it is supposed to be connected to an external 3.3 - 10k w pull - up resistor to 3.3. sens is an open drain output pin, used as a serial control strobe signal in some modes of operation. it is supposed to be connected to an external 3.3 - 10k w pu ll - up resistor to 3.3. there are 6 modes of operation available to the camera control port. these are listed in the following table, and described in more detail in the following paragraphs: mode number mode name description 0 soft bit - level software c ontrolled mode. 1 sio serial clocked i/o. 2 iic lrack iicc with last byte read acknowledged. 3 iic lrnack iicc with last byte read not acknowledged. 4 cam1 camera 1 - refer to timing diagram. 5 cam2 camera 2 - refer to timing diagram. modes number 1 - 5 are referred to as automatic modes: in these modes, the host computer only needs to write the data bytes (and, in some of them, the device address byte) in certain registers (ser_dat1 to ser_dat4, and ser_adrs), and initiate a transfer request. similarl y, the host computer can read received data from the same registers.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential camer a control serial port 10 - 2 the ser_mode register has some specific bits that can turn the automatic modes into more flexible serial data formats. these register bits are: clk_rate writing '0' to this bit will sele ct a 93.75 khz clock at the iicck output. writing '1' to this bit will select a 1.5 mhz clock at the iicck output. clk_pol writing '0' to this bit will select the normal polarity at the iicck output. writing '1' to this bit will select an inverted polarity at the iicck output. vsync writing '0' to this bit will select an immediate transfer. writing '1' to this bit will delay start - of - transfer to camera blank period. another register that is used by the automatic modes is the ser_cont register. this registe r is used by the host computer to control the serial port machine. the ser_cont register consists of the following control bits: ser_len this field contains a 3 - bit binary integer that specifies the number of data bytes that the host wishes to transfer in the serial transaction (the address byte is not counted). the range of this parameter is 0 to 4. ser_dir writing '0' to this bit selects a write operation (host to camera). writing '1' to this bit selects a read operation (camera to host). ser_go / ser_bus y this is used as both a command and a status bit. writing '1' to this bit will initiate a serial transfer request. the serial transfer will either start immediately or wait until the vertical blank time interval is detected at the camera video signal (dep ends on the vsync bit). the ser_go / ser_busy bit will remain '1' until the end of the transaction, to indicate to the host computer when a new transaction may be initiated. nack_rcv this is a read - only bit and is used in modes 2 and 3 only (iicc modes). t he ZR36506, after completing a serial transfer in this mode, reports to the host computer via this bit whether or not all transmitted bytes were acknowledged by the camera (this includes the address byte and all data bytes that were sent from the host to t he camera). a '0' in this bit indicates all ack, and a '1' indicates a nack for one or more bytes. no_stop this bit is used in modes 2 and 3 only (iicc modes) and enables multiple transactions inside a single start / stop frame. when set to '1', it informs the serial machine to omit the stop pattern at the end of the following transaction. combined with the continue bit, this enables the software driver to perform long transactions (i.e. for downloading the gamma - correction table into camera dsp).
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential camera control serial port 10 - 3 continue this bit is used in modes 2 and 3 only (iicc modes), and enables multiple transactions inside a single start / stop frame. when set to '1', it informs the serial machine to prepare for multiple transaction mode. it will never affect the following transact ion, but the one coming after it, which will not contain a start pattern. the following pages specify all 6 modes of operation for the camera - control serial port. soft mode: (mode=0) this mode is selected when the mode field (d7 - d4) of the ser_mode regist er is set to 0. in this mode the host computer may access the serial port pins directly in order to enable control of cameras that are not supported by the other automatic modes. in soft mode, the value of the clk_out bit (d0) is reflected in the iicck out put pin. a write operation to the dat_io bit (d1) sets the value of the iicdt pin. a read operation from the same dat_io bit reads the actual voltage level at the iicdt pin. the value of the sens_out bit (d2) is reflected in the sens output pin. sio mode: (mode=1) this is the serial clocked i/o automatic mode, and is selected when the mode field (d7 - d4) of the ser_mode register is set to 1. the following waveform describe the sio mode: iicck iicdt d7 d6 d5 d4 d3 d2 d1 d0 x x sens note: in both read and write sequence, data is sampled in the up-going edge of the clock iicck. iicck iicdt sens byte 1 byte 2 byte 4 note: in the sio mode 1 to 4 bytes are written or read.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential camer a control serial port 10 - 4 iic lrack mode: (mode=2) this is the iic lrack (last read acknowledg ed) automatic mode, and is selected when the mode field (d7 - d4) of the ser_mode register is set to 2. in this mode, the iicck frequency is set to 93.75 khz. iicck iicdt d7 d6 d5 d4 d3 d2 d1 d0 x ack note: in both read and write sequence, data should be stable during the '1' state of the clock iicck. d7-d0 are sent by transmitter, ack is sent by receiver. iicck iicdt write address r/w byte 1 r/w byte 4 note: start is defined when the iicdt turns from '1' to '0' while the iicck is '1'. stop is defined when the iicdt turns from '0' to '1' while the iicck is '1'. the address byte is written like any other byte. stop start ack ack stop stop end of write sequence end of read sequence iicck iicck iicdt iicdt in this mode, the host defines the camera address byte and the data bytes to be written to the camera in the appropriate registers. the ZR36506 then sends these bytes automatically. similarly, the ZR36506 may read data bytes from the camera. the ZR36506 acknowledges the last byte read like all other bytes. by using the no_stop and continue bits, a c oncatenation of multiple iicc transactions is possible, in order to send or receive more than 4 bytes in a single start / stop frame. additionally, by using these control bits, write/read operations may be combined with a single stop pattern at the end. no te that the ser_len parameter may be set to 0 to further support the concatenation operation mode.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential camera control serial port 10 - 5 iic lrnack mode: (mode=3) this is the iic lrnack (last read not acknowledged) automatic mode, and is selected when the mode field (d7 - d4) of the ser_mode re gister is set to 3. in this mode, the iicck frequency is set to 93.75 khz. in this mode, the host defines the camera address byte and the data bytes to be written to the camera in the appropriate registers. the ZR36506 then sends these bytes automatically. similarly, the ZR36506 may read data bytes from the camera. the ZR36506 does not acknowledge the last byte read from camera. this is done as a signaling to the camera that no more bytes are needed. the waveforms for this mode of operation are specified be low. iicck iicdt d7 d6 d5 d4 d3 d2 d1 d0 x ack note: in both read and write sequence, data should be stable during the '1' state of the clock iicck. d7-d0 are sent by transmitter, ack is sent by receiver. iicck iicdt write address r/w byte 1 r/w byte 4 note: start is defined when the iicdt turns from '1' to '0' while the iicck is '1'. stop is defined when the iicdt turns from '0' to '1' while the iicck is '1'. the address byte is written like any other byte. stop start nack ack stop stop end of write sequence end of read sequence iicck iicck iicdt iicdt in this mode, the host defines the camera address byte and the data bytes to be written to the camera in the appropriate registers. the ZR36506 then sends these bytes automatically. the ZR36506 may also read data bytes from the camera. the ZR36506 does not acknowledge the last byte read (nack). by using the no_stop and continue bits, concatenation of multiple iicc transactions is possible, in order to send or receive more than 4 bytes in a single start / stop frame. additionally, by using these con trol bits, write/read operations may be combined with a single stop pattern at the end. note that the ser_len parameter may be set to 0 to further support the concatenation operation mode.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential camer a control serial port 10 - 6 cam1 mode: (mode=4) this mode is selected when the mode field (d7 - d4) of the ser_mode register is set to 4. in this mode, the iicck frequency must not exceed 10 mhz. three signals are used: iicck, iicdt and sens. the host defines the desired camera register address byte and a single data byte to be written to that regist er in the appropriate ZR36506 registers. the ZR36506 first sends the address and then the data automatically. similarly, the ZR36506 may read a data byte from any given camera register. the waveforms for the cam1 mode are specified in the following diagram . note that every byte transfer has its own start condition, which indicates one of 3 possibilities: address write, data write, or data read. iicck iicdt a7 a6 a5 a4 a3 a2 a1 a0 note: a transaction consists of address write, followed by data write or data read. sens start address write 0 0 iicck iicdt d7 d6 d5 d4 d3 d2 d1 d0 sens start data write 1 0 iicck iicdt d7 d6 d5 d4 d3 d2 d1 d0 sens start data read 1 0 note: nt1004 relieses data signal (iicdt='1') at this point address write data write register write operation: address write data read register read operation:
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential camera control serial port 10 - 7 cam2 mode: (mode=5) this mode is selected when the mode field (d7 - d4) of the ser_mode register is set to 5. in this mode, the iicck frequency must not exceed 10 mhz. only two signals are used: iicck and iicdt. the host defines the desired camera register address byte and a single data byte to be written to that register in the appropriate ZR36506 registers. the zr3 6506 first sends the address and then the data automatically. note that in this mode, both address and data consist of 7 bits only. there is no way to read data from the camera. the waveforms for the cam2 mode are specified in the following diagram. note t hat every byte transfer has its own transfer start signaling (which is identical for both address and data), followed by an address write condition or a data write condition. iicck iicdt a6 a5 a4 a3 a2 a1 a0 note: data is sampled on the down-going edge of the clock iicck. a transaction consists of address write, followed by data write. 0 1 address write data write register write operation: transfer start address write iicck iicdt d6 d5 d4 d3 d2 d1 d0 0 0 transfer start data write

zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential external eeprom 11 - 1 11 e xternal eeprom the ZR36506 provides a full usb compliant solution without t he need for an external eeprom (usb vendor id is pin programmable). when unicode names are required, the ZR36506 may use an external 3.3 v 2 kbyte serial eeprom as an optional source for usb descriptors. there are several vendors that produce these 8 - pin e eprom chips, which are pin - to - pin compatible. normally, the external eeprom will only be read in a working device (soon after usb insertion). the ZR36506 supports on - board eeprom programming, which can be used to alter some usb descriptors - especially the product serial number. the ZR36506 register bank includes special registers to perform a byte read or write operation to a given address of the eeprom. in addition to the usb descriptors data, the external eeprom may contain some assembler code segments f or the v8. these code segments are used as modification patches to override the original internal v8 software. eeprom data structure the eeprom contains the device descriptor, up to 4 configuration descriptors, and up to 15 string descriptors in up to 7 di fferent languages. the following diagram specifies the block structure of the eeprom data: eeprom address (hex) 000 supported unicode languages table < 010 010 table of descriptor pointers 8*k don't care table of descriptors < 2048 eeprom content the first byte in this table is the total number of bytes in the table. the second byte is the "string" code of the usb standard. this is followed by a list of up to 7 valid codes of unicode languages . each pointer consists of 2 bytes: the first one identifies the descriptor, and the second contains the 8 most significant bits of the a ddress where the descriptor starts. the end of this table is identified by the value 0x00 instead of a valid descriptor identifier. each pointer in this table has its descriptor in the table of descriptors. 0 to 7 bytes skipped, because next table must sta rt in a 8*k address. each descriptor must start in a 8*k address. device and string descriptors are the same as specified in the usb - standard. in configuration descriptors, the first 2 bytes contain a 16 - bit unsigned value for the number of bytes that th e descriptor contains, and all the other bytes of the descriptor are as specified in the usb - standard (this is because this type of descriptors actually consist of a tree of small usb - descriptors, and can result in a more than 255 byte vector). each descriptor must have an identifier and a pointer in the table of descriptor pointers. v8 downloadable code
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential external eeprom 11 - 2 v8 downloadable code the serial eeprom in the ZR36506 application contains two files of data: usb descriptor data. standalone mode application parameters and v8 downloadable data code. refer to the following diagram for eeprom general data structure: serial eeprom - 2kb 0x000: msb( block#1 ) lsb( block#1 ) usb descriptors data tables (as specified above ) 0x7fe: 0x7ff: block#1: ( length#1 bytes) length#1 lsb( downloadaddrs#1 ) msb( downloadaddrs#1 ) block#2: length#2 lsb( downloadaddrs#2 ) msb( downloadaddrs#2 ) block#n: 0x00 end of data indicator: block #1 of data to be downloaded by v8 block #2 of data to be downloaded by v8 block #n of data end of data download data locator
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential external eeprom 11 - 3 in order to download all data blocks from eeprom, the v8 software will perform the following steps: 1. load two bytes from eeprom to temporary space in sram, start ing from eeprom address 0x7fe. this 16 - bit value ? denoted by block#1 - will be the data locator pointer. 2. use the data locator pointer block#1 to define the start address of the first data block to be downloaded. read 3 bytes from this eeprom address into a temporary space in sram. the first byte defines the total number of bytes in block#1 that should be downloaded, and is denoted by length#1. the other two bytes define a 16 - bit start address in the v8 address space for the whole block to be downloaded to. this parameter is denoted by downloadaddrs#1 and normally points to some byte address in the internal sram. 3. download length#1 bytes from eeprom address block#1 +3 to given address downloadaddrs#1 in sram (or to any other destination in this address). 4. repea t steps 2 and 3 to download all the other blocks from eeprom to destination addresses. the address of the beginning of the new block always follows the end of the last block. end the download process if the first byte of the ?new? block is 0x00 ? which den otes end of data. supported unicode language table: this table is used as the "string" of index 0, which is defined in the usb - standard. this "string" is actually a list of all the langids that are supported by the device. the first two bytes in this tabl e are needed for the standard format of usb string descriptors. eeprom address (hex) eeprom data (hex) description 000 blength number of bytes in this table (4 - 16). this is needed for the standard format of usb string descriptors. 001 string descripto r type (=03) code of string descriptor type (=03). this is needed for the standard format of usb string descriptors. 002 langid#1 (lsb) bits 7 - 0 of language - identifier of language #1. this language must be supported, and it is also used as the default lan guage if the host specifies a language that is not included in this list. 003 langid#1 (msb) bits 15 - 8 of language - identifier of language #1. 004 langid#2 (lsb) optional . bits 7 - 0 of language - identifier of language #2. must contain ff if not used.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential external eeprom 11 - 4 eeprom address (hex) eeprom data (hex) description 005 l angid#2 (msb) optional .bits 15 - 8 of language - identifier of language #2. must contain ff if not used. 006 langid#3 (lsb) optional . bits 7 - 0 of language - identifier of language #3. must contain ff if not used. 007 langid#3 (msb) optional .bits 15 - 8 of langua ge - identifier of language #3. must contain ff if not used. 008 langid#4 (lsb) optional . bits 7 - 0 of language - identifier of language #4. must contain ff if not used. 009 langid#4 (msb) optional .bits 15 - 8 of language - identifier of language #4. must contain ff if not used. 00a langid#5 (lsb) optional . bits 7 - 0 of language - identifier of language #5. must contain ff if not used. 00b langid#5 (msb) optional .bits 15 - 8 of language - identifier of language #5. must contain ff if not used. 00c langid#6 (lsb) optio nal . bits 7 - 0 of language - identifier of language #6. must contain ff if not used. 00d langid#6 (msb) optional .bits 15 - 8 of language - identifier of language #6. must contain ff if not used. 00e langid#7 (lsb) optional . bits 7 - 0 of language - identifier of la nguage #7. must contain ff if not used. 00f langid#7 (msb) optional .bits 15 - 8 of language - identifier of language #7. must contain ff if not used.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential external eeprom 11 - 5 table of descriptor pointers this table is used by the ZR36506 to locate the start address of a given desc riptor. each item in this table consists of a descriptor identifier byte (first byte), and eeprom address (second byte - contains only 8 most significant bits of address. the other 3 bits always equal '000'). eeprom address (hex) eeprom data (hex) descr iption 010 ddi (=40) device - descriptor identifier code (=40). this descriptor must exist in eeprom. 011 dd address device - descriptor address in this eeprom (in this table, units are in 8 - byte steps for address pointers). 012 cdi#0 (=20) configuration - de scriptor identifier # 0 code (=20). this descriptor must exist in eeprom. bits 7 - 2: '001000' (code of configuration - descriptor). bits 1 - 0: '00' (configuration index). 013 cd#0 address configuration - descriptor #0 address. cdi#1 (=21) optional . configurat ion - descriptor identifier # 1 code. cd#1 address optional . configuration - descriptor #1 address. cdi#2 (=22) optional . configuration - descriptor identifier # 2 code. cd#2 address optional . configuration - descriptor #2 address. cdi#3 (=23) optional . c onfiguration - descriptor identifier # 3 code. cd#3 address optional . configuration - descriptor #3 address. sdi#1,0 (=90) string - descriptor identifier lang#1 indx#0 (=90). this descriptor is actually the first table in eeprom. bit 7: '1'. bits 6 - 4: '001' (language number in language - table). bits 3 - 0: '0000' (string index).
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential external eeprom 11 - 6 eeprom address (hex) eeprom data (hex) descr iption sdi#1,0 address (=00) string - descriptor #1,0 address (=00). sdi#2,0 (=a0) string - descriptor identifier lang#2 indx#0 (=a0). this descriptor is actually the first table in eeprom. s di#2,0 address (=00) string - descriptor #1,0 address (=00). sdi#3,0 (=b0) string - descriptor identifier lang#3 indx#0 (=b0). this descriptor is actually the first table in eeprom. sdi#3,0 address (=00) string - descriptor #3,0 address (=00). sdi#4,0 (=c0 ) string - descriptor identifier lang#4 indx#0 (=c0). this descriptor is actually the first table in eeprom. sdi#4,0 address (=00) string - descriptor #4,0 address (=00). sdi#5,0 (=d0) string - descriptor identifier lang#5 indx#0 (=d0). this descriptor is ac tually the first table in eeprom. sdi#5,0 address (=00) string - descriptor #5,0 address (=00). sdi#6,0 (=e0) string - descriptor identifier lang#6 indx#0 (=e0). this descriptor is actually the first table in eeprom. sdi#6,0 address (=00) string - descript or #6,0 address (=00). sdi#7,0 (=f0) string - descriptor identifier lang#7 indx#0 (=f0). this descriptor is actually the first table in eeprom. sdi#7,0 address (=00) string - descriptor #7,0 address (=00).
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential external eeprom 11 - 7 eeprom address (hex) eeprom data (hex) descr iption sdi#n1,m1 optional . string - descriptor identifier lang#n1 indx#m1. bit 7: '1.' bits 6 - 4: n1 (language number in language - table). bits 3 - 0: m1 (string index). sdi#n1,m1 address optional . string - descriptor #n1,m1 address. sdi#n2,m2 optional . string - descriptor identifier lang#n2 indx#m2. sdi#n2,m2 add ress optional . string - descriptor #n1,m1 address. sdi#nk,mk optional . string - descriptor identifier lang#nk indx#mk. sdi#nk,mk address optional . string - descriptor #nk,mk address. eot (=00) end - of - table code (=00). table of descriptors this table conta ins the device descriptor, all configuration descriptors, and all string descriptors. device and string descriptors are organized exactly as specified in the usb standard. configuration descriptors start with a word (= 2 bytes - lsb first, then msb) that s pecifies the number of total bytes in the descriptor (excluding the first 2 bytes), followed by the descriptor's body, which is organized exactly as specified in the usb standard. the supported unicode languages table is also used as string descriptor # 0 for all languages. there is one and only one device descriptor, which is always 18 bytes long. a descriptor always starts at an 8*k address of the eeprom (the 3 least significant bits of the address are '000'). this means that there can be up to 7 unused bytes between any two descriptors in the table.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential external eeprom 11 - 8 eeprom access registers eeprom access via the ZR36506 registers is enabled when the e2_en bit in the pwr_reg register is set. the following registers are used for eeprom access: parameter register addres s usage e2_en reg.0/d7 e2_en enable eeprom access. 0: default after reset. eeprom access disabled. 1: enable eeprom read and write (1) . ee_data [7..0] reg.14 ee_data data byte to be written to eeprom. also, last data byte that was read from eeprom. ee_l sbad [7..0] reg.15 ee_lsbad 8 least significant bits of byte address in eeprom to be accessed. ee_msbad [10..8] reg.16/d2 - d0 3 most significant bits of byte address in eeprom to be accessed. ee_dir reg.16/d3 ee_dir select eeprom access direction: 0: sele ct write operation to eeprom. 1: select read operation from eeprom. ee_go/ee_busy reg.16/d4 ee_go/ ee_busy this is used as both a command and a status bit. writing '1' to this bit will initiate a byte read or write. the ee_go/ee_busy bit will remain '1' t ill the end of operation, to indicate to the host computer when a eeprom access can begin. a write operation to the eeprom requires the eeprom wp pin to be grounded. a write operation requires additional 10 milliseconds in the eeprom internal circuits.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential external eeprom 11 - 9 eeprom control signals the scl/pwr0 and sda pins of the ZR36506 are the eeprom control signals. the scl/pwr0 is used as the clock output, and the sda signal is used as the data i/o. if an external eeprom does not exist (eeprom = '0'), the ZR36506 autom atically uses its internal rom for usb descriptors. in this case, the ZR36506 relates to hard - coding of the pins scl/pwr0 and pwr1 to determine the current - consumption parameter for the configuration descriptor. the following table summarizes these two mod es of operation: internal rom mode external eeprom mode eeprom pin connected to gnd. scl/pwr0 and pwr1 pins are hard - coded to determine device current consumption for configuration - descriptor: pwr1 scl/pwr0 current ===== ======== ====== 0 0 200ma 0 1 300ma 1 0 400ma 1 1 500ma eeprom pin connected to 10 kbyte pull - up resistor (3.3 v to 5.0 v). external serial 2 k * 8 eeprom is connected: sda/eeprom connected to serial - data (sda). scl/pwr0 connected to serial - clock (scl). the following timing diagra ms and table specify the eeprom control waveforms that the ZR36506 generates: scl sda tsu:sta thd:sta tsu:sto start/stop timings
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential external eeprom 11 - 10 scl sda out thigh thd:do tlow tsu:do dn dn+1 sda in data valid data valid thd:di tsu:di data timings symbol parameter min max unit t su:sta start condition setup time 5300 - ns t hd:sta start condition hold time 5300 - ns t su:sto stop con dition setup time 5300 - ns t high clock high time 5300 - ns t low clock low time 5300 - ns t su:do data output setup time 2500 2670 ns t hd:do data output hold time 2500 2670 ns t su:di data input setup time 20 - ns t hd:di data input hold time 0 - ns
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential ZR36506 usb and status registers 12 - 1 12 ZR36506 usb and s tatus r egisters the ZR36506 has some registers that allow the software driver to directly read and affect some usb device parameters. these are specified in the following table: parameter register address usage config_reg reg.1 config_ reg read only register. contains the device configuration number. adrs_reg reg.2/d6 - d0 adrs_reg read only register. contains the device address. alter_reg reg.3/d3 - d0 alter_reg read only register. contains the alternate setting for end - point #2 (video ba ndwidth). regarding this value as a binary number in the range [1,15], the number of bytes sent in the isochronous pipe of ep2 in every millisecond is: n = (16 - alter_reg)*64 - 1 usb bandwidth = (16 - alter_reg)*0.5 mbit/sec new_alt reg.4/d3 - d0 force_alte r_r eg new alternate setting for end - point #2, (video bandwidth), to replace the original setting. this can be used to lower the actual used bandwidth temporarily, without notifying the operating system. force_alt reg.4/d7 force_alte r_reg force new alternate. 0: use original setting. 1: select new_alt value. vfrm_blnk reg.5/d0 status_reg read only register. 0: valid region of input video frame. 1: blank or unused region of input video frame. .
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential ZR36506 usb and status registers 12 - 2 parameter register address usage ee_clk_force [2..0] reg.16/d7 - d5 ee_cont read only register. th ese 3 bits reflect the logical level of the following pins of the ZR36506: ee_clk_force [0] = scl/pwr0 pin. ee_clk_force [1] = pwr1 pin. ee_clk_force [2] = sda pin. wd_en & wd_count[7..0] reg.0/d0 reg.53/d7 - d0 some usb host controllers may start an isochr onous in transaction too long after the sof (start of usb frame point). this means that long in transactions may exceed the 1 ms time interval of the usb frame, and cause the usb host controller to disconnect the device. the ZR36506 uses an internal watch dog timer to eliminate such problems. the watch dog operates if the wd_en control bit is set to '1'. it then starts to count 686 us after the sof pattern, and terminates any isochronous transaction automatically when reaching the value of the wd_count regi ster. every one count is equivalent to 1.33 us. note that the value of wd_count should be no more than 0xe9 in order to take any effect.
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential programmabl e i/o pins and 48 mhz output pin 13 - 1 13 p rogrammable i/o p ins and 48 mh z o utput p in the ZR36506 has two programmable i/o pins for general purpose usage. th ese are io - 1 and io - 2 pins, which are open - drain. each of these pins - if used - must be connected to an external pull - up resistor to 3.3 - 5.0 v (if not used, it can be tied to gnd). the external pull - up resistor should be in the range of 1 - 10 k w . to use th ese pins as inputs, the host computer should write '1' to the appropriate bit in the iopin_reg register (in the ZR36506 register bank) - these are the io_1 and io_2 bits, respectively. in this condition, the voltage level presented on the io - 1 or io - 2 pin may be read by the host computer via the appropriate bit ('0' represents <0.8 v, '1' represents > 2.0 v). to use these pins as outputs, the host computer should write the output value to the appropriate bit in the iopin_reg register; in this condition, and assuming that no external device forces the voltage level presented on the io - 1 or io - 2 pin, the written value will be reflected ('0' will generate 0 v, '1' will generate 3.3 - 5.0 v). upon a power on reset or a usb - reset operation, the io - 1 and io - 2 pins a re cleared to '0'. in suspend mode, these pins are temporarily set to high - z. the ZR36506 provides a 48 mhz clock output for sdram interface and general purpose usage. the pin clk48 is dedicated to this, and is enabled when the clk48_en bit is set to '1' ( reg.0/d3). when disabled, the output level in this pin is constant '0'. the 48 mhz output is 50% duty cycle with 1 ns jitter, and is derived from the external 12 mhz crystal (an internal analog pll is used).

zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential audio channel 14 - 1 14 a udio c hannel the audio channel in the ZR36506 is based on a serial 64 ? 512 kbit/s data stream from the ZR36506 to the host computer (usb isochronous mode is used for this stream). the 64 ? 512 kbit/s stream comes from an 8,000 / 16,000 s/sec 16 / 8 - bit audio sample at the external audio codec(s). tw o external codecs should be used for stereo mode recordings. the 8 / 16 khz sampling clock is derived from the 12 mhz external crystal. the ZR36506 pins for the external codec interface are bclk, fs_l, fs_r, and dat_in. the following table specifies the au dio_cont register (register address = 50): bit # name description 0 e_a '0': disables audio channel. set fs_l and fs_r outputs to constant '0'. if e_b is also '0', bclk is set to constant '0'. '1': enable audio channel. 1 e_b '0': disable bulk data inpu t. set blk_full output to constant '0'. if e_a is also '0', bclk is set to constant '0'. '1': enable bulk data input. 3 - 2 bps '00': 8 - bit per sample. '01': 12 - bit per sample (occupies 2 bytes. bits d3 - d0 of second byte are set to '0000'). '10': 14 - bit per sample (occupies 2 bytes. bits d1 - d0 of second byte are set to '00'). '11': 16 - bit per sample. 4 s/m '0': selects mono mode. fs_l output is active, fs_r output is constant '0'. '1': selects stereo mode. both fs_l and fs_r outputs are active. 5 fs '0': s et sampling rate to 8,000 samp/sec. '1': set sampling rate to 16,000 samp/sec. 7 - 6 bk '00': bclk frequency is not defined. '01': select bclk frequency = 64 khz. '10': select bclk frequency = 1.544 mhz. '11': select bclk frequency = 2.048 mhz.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential audio channel 14 - 2 in additi on to the audio_cont register, there is the aud_pk_len register (register address = 51), to select the maximum packet size to be sent via the audio isochronous pipe. this number is limited to 128, which is the maximum number of bytes that the ZR36506 audio fifo can contain. the software driver should set this register to a value that fits the usb descriptor for the ep#3 maximum packet length (which is 66, if not using an external eeprom). codec interface the codec interface is long frame sync timing based. the bclk frequency may be selected to be ? 2048 khz, 1536 khz, or 64 khz, which enables the designer to use almost any family of low cost codecs available on the market. in the long frame sync timing modes, the msb of the "transmitted" data is always expec ted soon after the rising edge of the fs_l (or fs_r) signal. the ZR36506 produces a positive pulse of 2 bclk cycles in these output pins every 125 us (8 khz) or every 62.5 us (16 khz), which indicates the start of sample as specified in the following wavef orm diagram: msb lsb txs txd1 txd2 tsx bclk fs_l fs_r dat_in xx xx the bclk is derived from the 12 mhz clock on the crystal. this results in a 4.3% jitter at the bclk signal. the following table specifies the minimum and maximum time intervals for the codec interface waveform diagram: parameter symbol min max unit hold time from bclk low to fs_l / fs_r high txs 180 - ns setup time from fs_l / fs_r high to bclk low tsx 180 - ns delay time to valid data from fs_l / fs_r txd1 - 200 ns delay time from bclk high to dat_in valid txd2 - 200 ns jitter at the bit clock signal bclk cj - 4.3 %
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential bulk channel 15 - 1 15 b ulk c hannel the bulk channel in the ZR36506 is capable of transferring serial data from an external source to the host computer at a bit rate of up to 2 mbits/sec. it uses a bulk end point (e.p#4), with a maximum packet length that may be specified by a value of 1 - 64 bytes (the usb standard does not allow a bulk packet of more than 64 bytes). the bulk channel takes advantage of the existing interface for the audio codec. in order to work simultaneously with the audio c hannel, the external data source should be able to stop the data transfer from time to time - as specified in the bulk waveform diagram. the ZR36506 pins for the bulk channel interface are bclk, dat_in, blk_en, and blk_full. the signals fs_l and fs_r shoul d be monitored by the data source logic, in order to coexist with the audio channel. the following table specifies the control registers that are used for controlling the bulk channel: control name description e_b reg.50/d1 '0': disable bulk data input. set blk_full output to constant '0'. if e_a is also '0', bclk is set to constant '0'. '1': enable bulk data input. blk_pk_len [6..0] reg.52/d6 - d0 this register specifies the maximum number of bytes to be sent in a single usb bulk packet. this must be a nu mber between 0 and 64, and should fit the content of the usb descriptor (64 if no external eeprom used). this register directly affects the bit rate capability of the bulk channel. the actual bit rate is also limited by the bclk frequency, which may be 64 khz, 1544 khz, or 2048 khz. a bit rate of 2 mbits/sec may be reached only on computers that are capable of performing more than one packet in a usb frame (ohci).
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential bulk channel 15 - 2 the following waveform diagram specifies the procedure and timings for the ZR36506 bulk in terface. note that the input data is sampled on the falling edge of the bclk clock signal. the blk_en input is set to '1' by the sending device to indicate the beginning of a byte sequence; it should always turn to '1' before the most significant bit of th e first byte, and return to '0' after the least significant bit of the last byte in sequence. when the blk_full output of the ZR36506 turns '1', the sending device should wait (by switching blk_en to '0') until the blk_full indication returns to '0'. b1[7] dsu dh besu bclk blk_en dat_in xx xx b1[6] b1[5] b1[4] bn[2] bn[1] bn[0] beh i f the audio channel is enabled, the sending device should wait at least 16 clock cycles after the fs_l (or fs_r) pulse before beginning to send its own data. during this time it should keep its data out signal in the high - z state, so as not to interfere wi th the audio data. audio bclk blk_en dat_in xx audio audio audio audio b1[7] b1[6] fs_l fs_r 1 2 3 4 b1[5] 16 keep device data output pin in hi-z bclk blk_en dat_in bn+1[7] blk_full bn[0] bn[1] bn+1[6] bfhsu bflsu
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential bulk channel 15 - 3 parameter symbol min max unit setup time from blk_en high to bclk low besu 100 - ns hold time from bclk low to blk_en low beh 100 - ns setup time from dat_in valid to bclk low dsu 100 - ns hold time from bclk low to dat_in valid dh 100 - ns setup time from blk_full high to bclk high bfhsu 80 - ns hold time from blk_full low to bclk high bflsu 0 - ns jitter at the bit clock signal bclk cj - 4.3 %

zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential serial pipe out interface 16 - 1 16 s erial p ipe o ut i nterface description the serial pipe out (spo) interface is u sed for compressed video and audio data transfer to external devices. this interface is used in standalone mode (when not connected to usb) the spo consists of the following signals: pin # pin name i/o description 11 usb_clk_out o 12 mhz clock for bit sa mpling. 10 usb_dat o serial data output. this signal carries both compressed video and pcm audio signals. 9 usb_valid o data - valid signal. ?1? indicates that data is valid. ?0? indicates ?ignore data signal?. switch from ?0? to ?1? indicates beginning of a new byte. 8 usb_ep2 o video data select signal. ?1? indicates video data region. 7 usb_ep3 o audio data select signal. ?1? indicates audio data region. 29 io1 i video data request. ?1? means external device is ready to receive more data. ?0? means ex ternal device cannot receive more data now. video and audio data are byte - oriented and always begin with the lsbit. the signal usb_valid always returns to ?0? between every two subsequent bytes, hence it can be used for byte synchronization. the signals u sb_ep2 and usb_ep3 indicate whether the data belong to the video or audio streams respectively. the signal usb_ep2 can also indicate the end of a video frame and the beginning of the next one. refer to the waveform diagrams for this indication.
zoran ZR36506 usbvision ? datasheet zoran proprietary and confidential serial pipe out interface 16 - 2 usb_ clk_out d7 d6 d5 d4 d2 d1 d0 d3 xx xx xx usb_dat usb_valid usb_ep2 video data output usb_ clk_out d7 d6 d5 d4 d2 d1 d0 d3 xx xx xx usb_dat usb_valid usb_ep3 audio data output usb_ clk_out usb_dat usb_valid usb_ep2 usb_ep3 general timing 1 t2 t1 t3 general timing 2 t4 usb_valid usb_ep3 usb_ep2 vid. data pack. (63-1023 bytes). video frame #n vid. data pack. video frame #n vid. data pack. video frame #n+1 vid. data packs (0 bytes). end of video frame audio data pack. 1-16 bytes t5 t6 t7 note: one or more empty packets of video type must occur after every video frame
zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential serial pipe out interface 16 - 3 general timing 3 io1 usb_ep3 usb_ep2 continue until pack. end (63-1023 bytes) wait for io1='1' timing table name min typical max unit t1 78 83 88 [ns] t2 5 7 10 [ns] t3 37 42 47 [ns] t4 10 1000 2000 [us] t5 1 8 16 [us] t6 200 800 - [ns] t7 200 800 1500 [ns]

zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential so ftware package 17 - 1 17 s oftware p ackage listed below is a description of the software components provided with the ZR36506. wdm video streaming class minidriver ms a standard connection and streaming in kernel mode (capture, still) ms a standard property s ets (tv tuner, crossbar) ms a standard way of exposing data formats. ms a standard way of controlling stream flow. all interfaces are exposed through the directshow architecture. vfw interfaces are also available via a wdm to vfw mapper, provided by micro soft. wdm audio streaming class minidriver - streams audio data from the ZR36506 chip. twain compliant drivers - the package includes a twain compliant driver for high resolution still image capture. the gui of the twain driver displays a live video prev iew. the package also includes a twain compliant driver for digital camera support. eeprom programming application - an application for programming the ZR36506 eeprom to contain vendor specific usb descriptors. it allows the setting of the device and manuf acturer names as well as the serial number for the device. the drivers are supplied with an inf file for easy installation. customization is applied by modifying the name strings in the inf file.

zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential mechanical specifications 18 - 1 18 m echanical s pecifications

zoran zr3650 6 usbvision ? datasheet zoran proprietary and confidential contact information 19 - 1 19 c ontact i nformation usa zoran corporation israel zoran microelectronics ltd. 3112 scott boulevard, advanced technology ctr. santa clara, ca 95054 - 3317 p.o. box 2495 haifa, 31024 israel tel.: +1 - 408 - 919 - 4111 tel.: +972 - 4 - 8545 - 777 fax: +1 - 408 - 919 - 4122 fax: +972 - 4 - 8 551 - 551 china zoran china office japan zoran japan office suite 2507 2 - 2 - 8 roppongi, minato - ku electronics science & tokyo 106 - 0032, japan tech building 2070 central shennan rd. shenzhen, guangdong, 518031 p.r. china tel.: +86 - 755 - 378 - 0319 tel. : +81 - 03 - 5574 - 7081 fax: +86 - 755 - 378 - 0852 fax: +81 - 03 - 5574 - 7156 taiwan zoran taiwan office canada zoran toronto lab 4f - 1, no. 5, alley 22 2175 queen st. east, lane 513, reikuang rd. suite 302 taipei, taiwan r.o.c. toronto, ontario m4e 1e5 canad a tel.: +886 - 2 - 2659 - 9797 tel.: +1 - 416 - 690 - 3356 fax: +886 - 2 - 2659 - 9595 fax: +1 - 416 - 690 - 3363 web http://www.zoran.com http://www.nogatech.com


▲Up To Search▲   

 
Price & Availability of ZR36506

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X